{"id":18779380,"url":"https://github.com/zostay/starch-plugin-securestateid","last_synced_at":"2025-12-18T00:30:19.126Z","repository":{"id":66558093,"uuid":"74064948","full_name":"zostay/Starch-Plugin-SecureStateID","owner":"zostay","description":"Use cryptographically secure random when making state IDs in Starch","archived":false,"fork":false,"pushed_at":"2019-03-04T17:07:32.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-29T10:29:17.278Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zostay.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-17T20:32:58.000Z","updated_at":"2019-03-04T17:08:14.000Z","dependencies_parsed_at":"2023-04-06T08:05:11.392Z","dependency_job_id":null,"html_url":"https://github.com/zostay/Starch-Plugin-SecureStateID","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2FStarch-Plugin-SecureStateID","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2FStarch-Plugin-SecureStateID/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2FStarch-Plugin-SecureStateID/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2FStarch-Plugin-SecureStateID/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zostay","download_url":"https://codeload.github.com/zostay/Starch-Plugin-SecureStateID/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239690604,"owners_count":19681130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T20:19:53.700Z","updated_at":"2025-12-18T00:30:19.044Z","avatar_url":"https://github.com/zostay.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nStarch::Plugin::SecureStateID - use cryptographically secure random when making state IDs\n\n# VERSION\n\nversion 0.002\n\n# SYNOPSIS\n\n    my $starch = Starch-\u003enew(\n        plugins             =\u003e ['::SecureStateID'],\n        secure_state_id_sha =\u003e 256,\n    );\n\n# DESCRIPTION\n\nFor each state stored in Starch, the generated ID is virtually guaranteed to be unique. It is not generated to be unguessable. By using this plugin, the state will include a random number generated using [Math::Random::Secure](https://metacpan.org/pod/Math::Random::Secure) to assure that is both unique and includes a cryptographically secure random number in the calculated ID.\n\nThis plugin also upgrades the state ID so that it is calculated using SHA-256 instead of SHA-1. SHA-1 hashed values are potentially guessable for attackers with a large enough budget. A possible downside is that SHA-256 creates a key that is 256 bits long, which results in an ID string that is 64 bytes long, rather than the 40 byte long string provided by SHA-1. The version of SHA used may be chosen with the [\"secure\\_state\\_id\\_sha\"](#secure_state_id_sha) option.\n\n# OPTIONAL MANAGER ARGUMENTS\n\nThese arguments are added to the [Starch::Manager](https://metacpan.org/pod/Starch::Manager) class.\n\n## secure\\_state\\_id\\_sha\n\nThis names the SHA algorithm to use. It may be set to one of: 1, 224, 256, 284, 512224, and 512256. The default is 256 (though, if you do not use this plugin, SHA-1 will be used).\n\n# AUTHORS AND LICENSE\n\nCopyright 2016 Sterling Hanenkamp `hanenkamp@cpan.org`.\n\nThis is free software distributed under the same terms as Perl itself.\n\nSpecial thanks to ZipRecruiter, Inc. without whom this software would not exist\nand would not be available to the Open Source community.\n\n# AUTHOR\n\nAndrew Sterling Hanenkamp \u003chanenkamp@cpan.org\u003e\n\n# COPYRIGHT AND LICENSE\n\nThis software is copyright (c) 2019 by Andrew Sterling Hanenkamp.\n\nThis is free software; you can redistribute it and/or modify it under\nthe same terms as the Perl 5 programming language system itself.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzostay%2Fstarch-plugin-securestateid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzostay%2Fstarch-plugin-securestateid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzostay%2Fstarch-plugin-securestateid/lists"}