{"id":408,"name":null,"description":"A Cyclic Redundancy Check (CRC) library for Ruby.","url":"https://github.com/postmodern/digest-crc","last_synced_at":"2026-04-30T04:00:21.690Z","repository":{"id":924879,"uuid":"690914","full_name":"postmodern/digest-crc","owner":"postmodern","description":"A Cyclic Redundancy Check (CRC) library for Ruby.","archived":false,"fork":false,"pushed_at":"2026-02-14T04:15:48.000Z","size":232,"stargazers_count":93,"open_issues_count":7,"forks_count":32,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-18T19:35:08.879Z","etag":null,"topics":["crc","crc16","crc32","crc64","crc8","digest","ruby"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postmodern.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"postmodern"}},"created_at":"2010-05-28T11:33:17.000Z","updated_at":"2026-02-14T04:15:52.000Z","dependencies_parsed_at":"2026-01-19T03:01:52.317Z","dependency_job_id":null,"html_url":"https://github.com/postmodern/digest-crc","commit_stats":{"total_commits":237,"total_committers":10,"mean_commits":23.7,"dds":0.08016877637130804,"last_synced_commit":"9e50ddfe1cba161e2185d80faabd0d0a803d7065"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/postmodern/digest-crc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/sbom","scorecard":{"id":741941,"data":{"date":"2025-08-11","repo":{"name":"github.com/postmodern/digest-crc","commit":"a4015c0826bbdf80db51109640d9fcd1aac2a398"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Code-Review","score":2,"reason":"Found 6/29 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/integration.yml:1","Warn: no topLevel permission defined: .github/workflows/ruby.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.7.0 not signed: https://api.github.com/repos/postmodern/digest-crc/releases/197084890","Warn: release artifact v0.7.0 does not have provenance: https://api.github.com/repos/postmodern/digest-crc/releases/197084890"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ruby.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ruby.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.base:2","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc:1","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc-and-make:1","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T17:39:53.714Z","repository_id":924879,"created_at":"2025-08-22T17:39:53.714Z","updated_at":"2025-08-22T17:39:53.714Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29661585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T16:33:43.953Z","status":"ssl_error","status_checked_at":"2026-02-20T16:33:43.598Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"owner":{"login":"postmodern","name":"Postmodern","uuid":"12671","kind":"user","description":"Software Engineer, Open Source developer and maintainer, sometimes InfoSec. Ruby, Crystal, Bash.","email":"postmodern.mod3@gmail.com","website":"https://postmodern.github.io/","location":null,"twitter":"postmodern_mod3","company":null,"icon_url":"https://avatars.githubusercontent.com/u/12671?u=73c07204f5d9d411c98fc5efea4593782aee48d0\u0026v=4","repositories_count":191,"last_synced_at":"2026-04-13T19:30:58.646Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"postmodern"}},"html_url":"https://github.com/postmodern","funding_links":["https://github.com/sponsors/postmodern"],"total_stars":8347,"followers":1146,"following":0,"created_at":"2022-11-02T16:20:20.980Z","updated_at":"2026-04-13T19:30:58.646Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern/repositories"},"packages":[{"id":13816733,"name":"precompiled-digest-crc","ecosystem":"rubygems","description":"Adds support for calculating Cyclic Redundancy Check (CRC) to the Digest module.","homepage":"https://github.com/postmodern/digest-crc#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2026-02-14T02:36:19.617Z","latest_release_published_at":"2026-02-14T02:36:22.115Z","latest_release_number":"0.7.0","last_synced_at":"2026-04-26T02:01:39.593Z","created_at":"2026-02-14T02:48:27.721Z","updated_at":"2026-04-26T02:04:29.731Z","registry_url":"https://gem.coop/gems/precompiled-digest-crc","install_command":"gem install precompiled-digest-crc -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/precompiled-digest-crc/","metadata":{"funding":null},"repo_metadata":{"id":924879,"uuid":"690914","full_name":"postmodern/digest-crc","owner":"postmodern","description":"A Cyclic Redundancy Check (CRC) library for Ruby.","archived":false,"fork":false,"pushed_at":"2026-02-14T04:15:48.000Z","size":232,"stargazers_count":93,"open_issues_count":7,"forks_count":32,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-18T19:35:08.879Z","etag":null,"topics":["crc","crc16","crc32","crc64","crc8","digest","ruby"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postmodern.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"postmodern"}},"created_at":"2010-05-28T11:33:17.000Z","updated_at":"2026-02-14T04:15:52.000Z","dependencies_parsed_at":"2026-01-19T03:01:52.317Z","dependency_job_id":null,"html_url":"https://github.com/postmodern/digest-crc","commit_stats":{"total_commits":237,"total_committers":10,"mean_commits":23.7,"dds":0.08016877637130804,"last_synced_commit":"9e50ddfe1cba161e2185d80faabd0d0a803d7065"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/postmodern/digest-crc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/sbom","scorecard":{"id":741941,"data":{"date":"2025-08-11","repo":{"name":"github.com/postmodern/digest-crc","commit":"a4015c0826bbdf80db51109640d9fcd1aac2a398"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Code-Review","score":2,"reason":"Found 6/29 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/integration.yml:1","Warn: no topLevel permission defined: .github/workflows/ruby.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.7.0 not signed: https://api.github.com/repos/postmodern/digest-crc/releases/197084890","Warn: release artifact v0.7.0 does not have provenance: https://api.github.com/repos/postmodern/digest-crc/releases/197084890"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ruby.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ruby.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.base:2","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc:1","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc-and-make:1","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T17:39:53.714Z","repository_id":924879,"created_at":"2025-08-22T17:39:53.714Z","updated_at":"2025-08-22T17:39:53.714Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29661585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T16:33:43.953Z","status":"ssl_error","status_checked_at":"2026-02-20T16:33:43.598Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"},"owner_record":{"login":"postmodern","name":"Postmodern","uuid":"12671","kind":"user","description":"Software Engineer, Open Source developer and maintainer, sometimes InfoSec. Ruby, Crystal, Bash.","email":"postmodern.mod3@gmail.com","website":"https://postmodern.github.io/","location":null,"twitter":"postmodern_mod3","company":null,"icon_url":"https://avatars.githubusercontent.com/u/12671?u=73c07204f5d9d411c98fc5efea4593782aee48d0\u0026v=4","repositories_count":191,"last_synced_at":"2026-04-13T19:30:58.646Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"postmodern"}},"html_url":"https://github.com/postmodern","funding_links":["https://github.com/sponsors/postmodern"],"total_stars":8347,"followers":1146,"following":0,"created_at":"2022-11-02T16:20:20.980Z","updated_at":"2026-04-13T19:30:58.646Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern/repositories"},"tags":[{"name":"v0.7.0","sha":"d7ab5572612f1a9b6e3043ba538267600758181d","kind":"tag","published_at":"2025-01-28T08:12:05.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.7.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.7.0/manifests"},{"name":"v0.6.5","sha":"ea7c5facab29725d438cb970bc6c2b5ea71d3ac1","kind":"tag","published_at":"2023-07-04T00:07:46.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.5","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.5/manifests"},{"name":"v0.6.4","sha":"ad043401abae83d0da0822c7e783c483e50e8bfb","kind":"tag","published_at":"2021-07-25T06:02:25.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.4","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.4/manifests"},{"name":"v0.6.3","sha":"9ea56af5a74be5c732cc2b653fc95ec360c83b18","kind":"tag","published_at":"2020-12-20T06:07:12.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.3","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"0264bfc2f3335f8ab65338b934799d1c861f15de","kind":"tag","published_at":"2020-12-03T23:37:31.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.2","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"e2f903548648bddcd9f37382572239e32a05cd1a","kind":"tag","published_at":"2020-07-02T23:07:07.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"5c09c5a84ed05e0ca34b1730c6500819bb83084a","kind":"tag","published_at":"2020-07-02T00:11:26.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0/manifests"},{"name":"v0.6.0.rc1","sha":"52b48428534c9001e375889c2bb66beb3fa5a0e8","kind":"tag","published_at":"2020-06-16T22:41:03.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.0.rc1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0.rc1/manifests"},{"name":"v0.5.1","sha":"05856b9eae05a2cd259c92e4479e3871a14f8046","kind":"tag","published_at":"2020-03-04T06:31:14.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.5.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f7f7cdf88a90d25d4aeefcc5bb1c75a2b7e3ff66","kind":"tag","published_at":"2020-03-02T04:50:41.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.5.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"0bd3121da8639ac5207afbb67a19f8059b9c90bb","kind":"tag","published_at":"2020-03-02T04:17:35.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.2","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"88ee663583407e9f95de6545400e234adc44c075","kind":"tag","published_at":"2014-04-17T06:55:21.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"233023636156eaec235a7b8c745383b99abb23be","kind":"tag","published_at":"2013-02-14T02:28:39.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"5ce88e4afb619b038957bd3e8116673a54556e05","kind":"commit","published_at":"2011-09-24T22:51:09.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.3.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"e8faaa0c6473e454c9778f60d6475c219f1e2bde","kind":"commit","published_at":"2011-05-10T23:02:47.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.2.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"92615df800d0ffc61b24a57a1e1a673bec64251f","kind":"commit","published_at":"2010-06-01T20:05:57.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.1.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-26T02:04:29.731Z","dependent_packages_count":0,"downloads":652,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.0,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:gem/precompiled-digest-crc?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/precompiled-digest-crc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/precompiled-digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/precompiled-digest-crc/dependencies","status":null,"funding_links":["https://github.com/sponsors/postmodern"],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-23T18:23:51.620Z","issues_count":27,"pull_requests_count":20,"avg_time_to_close_issue":9794287.736842105,"avg_time_to_close_pull_request":13466761.222222222,"issues_closed_count":19,"pull_requests_closed_count":18,"pull_request_authors_count":11,"issue_authors_count":21,"avg_comments_per_issue":3.4074074074074074,"avg_comments_per_pull_request":2.7,"merged_pull_requests_count":12,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":6726.0,"past_year_avg_time_to_close_pull_request":34424.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/issues","maintainers":[{"login":"postmodern","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}],"active_maintainers":[{"login":"postmodern","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/precompiled-digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/precompiled-digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/precompiled-digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/precompiled-digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/precompiled-digest-crc/codemeta","maintainers":[{"uuid":"78226","login":"shopify","name":null,"email":null,"url":null,"packages_count":356,"html_url":"https://gem.coop/profiles/shopify","role":null,"created_at":"2026-02-14T02:48:30.432Z","updated_at":"2026-02-14T02:48:30.432Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/shopify/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190343,"maintainers_count":67464,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":13804220,"name":"ruby-digest-crc","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/postmodern/digest-crc#readme","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:18:09.399Z","latest_release_published_at":"2026-02-13T18:18:09.399Z","latest_release_number":"0.4.0-2","last_synced_at":"2026-03-14T02:17:02.286Z","created_at":"2026-02-13T18:18:09.124Z","updated_at":"2026-03-14T02:17:02.286Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-digest-crc","install_command":"apt-get install ruby-digest-crc","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-digest-crc","standards_version":"4.6.2","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:19:29.660Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-digest-crc?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-digest-crc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-digest-crc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-digest-crc/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":190854,"name":"digest-crc","ecosystem":"rubygems","description":"Adds support for calculating Cyclic Redundancy Check (CRC) to the Digest module.","homepage":"https://github.com/postmodern/digest-crc#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":[],"namespace":null,"versions_count":16,"first_release_published_at":"2010-06-01T19:08:56.564Z","latest_release_published_at":"2025-01-28T08:12:47.222Z","latest_release_number":"0.7.0","last_synced_at":"2026-04-27T04:30:38.448Z","created_at":"2022-04-05T20:50:37.507Z","updated_at":"2026-04-27T04:33:42.224Z","registry_url":"https://rubygems.org/gems/digest-crc","install_command":"gem install digest-crc -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/digest-crc/","metadata":{"funding":null},"repo_metadata":{"id":924879,"uuid":"690914","full_name":"postmodern/digest-crc","owner":"postmodern","description":"A Cyclic Redundancy Check (CRC) library for Ruby.","archived":false,"fork":false,"pushed_at":"2026-02-14T04:15:48.000Z","size":232,"stargazers_count":93,"open_issues_count":7,"forks_count":32,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-18T19:35:08.879Z","etag":null,"topics":["crc","crc16","crc32","crc64","crc8","digest","ruby"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postmodern.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"postmodern"}},"created_at":"2010-05-28T11:33:17.000Z","updated_at":"2026-02-14T04:15:52.000Z","dependencies_parsed_at":"2026-01-19T03:01:52.317Z","dependency_job_id":null,"html_url":"https://github.com/postmodern/digest-crc","commit_stats":{"total_commits":237,"total_committers":10,"mean_commits":23.7,"dds":0.08016877637130804,"last_synced_commit":"9e50ddfe1cba161e2185d80faabd0d0a803d7065"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/postmodern/digest-crc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/sbom","scorecard":{"id":741941,"data":{"date":"2025-08-11","repo":{"name":"github.com/postmodern/digest-crc","commit":"a4015c0826bbdf80db51109640d9fcd1aac2a398"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Code-Review","score":2,"reason":"Found 6/29 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/integration.yml:1","Warn: no topLevel permission defined: .github/workflows/ruby.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.7.0 not signed: https://api.github.com/repos/postmodern/digest-crc/releases/197084890","Warn: release artifact v0.7.0 does not have provenance: https://api.github.com/repos/postmodern/digest-crc/releases/197084890"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ruby.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ruby.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.base:2","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc:1","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc-and-make:1","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T17:39:53.714Z","repository_id":924879,"created_at":"2025-08-22T17:39:53.714Z","updated_at":"2025-08-22T17:39:53.714Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29661585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T16:33:43.953Z","status":"ssl_error","status_checked_at":"2026-02-20T16:33:43.598Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"},"owner_record":{"login":"postmodern","name":"Postmodern","uuid":"12671","kind":"user","description":"Software Engineer, Open Source developer and maintainer, sometimes InfoSec. Ruby, Crystal, Bash.","email":"postmodern.mod3@gmail.com","website":"https://postmodern.github.io/","location":null,"twitter":"postmodern_mod3","company":null,"icon_url":"https://avatars.githubusercontent.com/u/12671?u=73c07204f5d9d411c98fc5efea4593782aee48d0\u0026v=4","repositories_count":191,"last_synced_at":"2026-04-13T19:30:58.646Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"postmodern"}},"html_url":"https://github.com/postmodern","funding_links":["https://github.com/sponsors/postmodern"],"total_stars":8347,"followers":1146,"following":0,"created_at":"2022-11-02T16:20:20.980Z","updated_at":"2026-04-13T19:30:58.646Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern/repositories"},"tags":[{"name":"v0.7.0","sha":"d7ab5572612f1a9b6e3043ba538267600758181d","kind":"tag","published_at":"2025-01-28T08:12:05.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.7.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.7.0/manifests"},{"name":"v0.6.5","sha":"ea7c5facab29725d438cb970bc6c2b5ea71d3ac1","kind":"tag","published_at":"2023-07-04T00:07:46.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.5","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.5/manifests"},{"name":"v0.6.4","sha":"ad043401abae83d0da0822c7e783c483e50e8bfb","kind":"tag","published_at":"2021-07-25T06:02:25.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.4","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.4/manifests"},{"name":"v0.6.3","sha":"9ea56af5a74be5c732cc2b653fc95ec360c83b18","kind":"tag","published_at":"2020-12-20T06:07:12.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.3","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"0264bfc2f3335f8ab65338b934799d1c861f15de","kind":"tag","published_at":"2020-12-03T23:37:31.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.2","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"e2f903548648bddcd9f37382572239e32a05cd1a","kind":"tag","published_at":"2020-07-02T23:07:07.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"5c09c5a84ed05e0ca34b1730c6500819bb83084a","kind":"tag","published_at":"2020-07-02T00:11:26.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0/manifests"},{"name":"v0.6.0.rc1","sha":"52b48428534c9001e375889c2bb66beb3fa5a0e8","kind":"tag","published_at":"2020-06-16T22:41:03.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.0.rc1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0.rc1/manifests"},{"name":"v0.5.1","sha":"05856b9eae05a2cd259c92e4479e3871a14f8046","kind":"tag","published_at":"2020-03-04T06:31:14.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.5.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f7f7cdf88a90d25d4aeefcc5bb1c75a2b7e3ff66","kind":"tag","published_at":"2020-03-02T04:50:41.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.5.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"0bd3121da8639ac5207afbb67a19f8059b9c90bb","kind":"tag","published_at":"2020-03-02T04:17:35.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.2","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"88ee663583407e9f95de6545400e234adc44c075","kind":"tag","published_at":"2014-04-17T06:55:21.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"233023636156eaec235a7b8c745383b99abb23be","kind":"tag","published_at":"2013-02-14T02:28:39.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"5ce88e4afb619b038957bd3e8116673a54556e05","kind":"commit","published_at":"2011-09-24T22:51:09.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.3.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"e8faaa0c6473e454c9778f60d6475c219f1e2bde","kind":"commit","published_at":"2011-05-10T23:02:47.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.2.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"92615df800d0ffc61b24a57a1e1a673bec64251f","kind":"commit","published_at":"2010-06-01T20:05:57.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.1.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-27T04:33:42.204Z","dependent_packages_count":37,"downloads":286642817,"downloads_period":"total","dependent_repos_count":20778,"rankings":{"downloads":0.10314336370022636,"dependent_repos_count":0.24865913627189706,"dependent_packages_count":0.6701530982036329,"stargazers_count":5.719717665949309,"forks_count":4.882305059042607,"docker_downloads_count":0.2179948930096676,"average":1.9736622026962234},"purl":"pkg:gem/digest-crc","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/digest-crc","docker_dependents_count":637,"docker_downloads_count":581672213,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/digest-crc/dependencies","status":null,"funding_links":["https://github.com/sponsors/postmodern"],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-23T18:23:51.620Z","issues_count":27,"pull_requests_count":20,"avg_time_to_close_issue":9794287.736842105,"avg_time_to_close_pull_request":13466761.222222222,"issues_closed_count":19,"pull_requests_closed_count":18,"pull_request_authors_count":11,"issue_authors_count":21,"avg_comments_per_issue":3.4074074074074074,"avg_comments_per_pull_request":2.7,"merged_pull_requests_count":12,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":6726.0,"past_year_avg_time_to_close_pull_request":34424.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/issues","maintainers":[{"login":"postmodern","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}],"active_maintainers":[{"login":"postmodern","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/digest-crc/codemeta","maintainers":[{"uuid":"212","login":"postmodern","name":null,"email":null,"url":null,"packages_count":134,"html_url":"https://rubygems.org/profiles/postmodern","role":null,"created_at":"2022-11-08T09:20:19.348Z","updated_at":"2022-11-08T09:20:19.348Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/postmodern/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205490,"maintainers_count":68456,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12214335,"name":"digest-crc","ecosystem":"rubygems","description":"Adds support for calculating Cyclic Redundancy Check (CRC) to the Digest module.","homepage":"https://github.com/postmodern/digest-crc#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":[],"namespace":null,"versions_count":16,"first_release_published_at":"2010-06-01T19:08:56.564Z","latest_release_published_at":"2025-01-28T08:12:47.222Z","latest_release_number":"0.7.0","last_synced_at":"2026-04-27T05:01:42.595Z","created_at":"2025-10-07T02:27:51.620Z","updated_at":"2026-04-27T05:08:28.557Z","registry_url":"https://gem.coop/gems/digest-crc","install_command":"gem install digest-crc -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/digest-crc/","metadata":{"funding":null},"repo_metadata":{"id":924879,"uuid":"690914","full_name":"postmodern/digest-crc","owner":"postmodern","description":"A Cyclic Redundancy Check (CRC) library for Ruby.","archived":false,"fork":false,"pushed_at":"2026-02-14T04:15:48.000Z","size":232,"stargazers_count":93,"open_issues_count":7,"forks_count":32,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-04-22T00:02:55.227Z","etag":null,"topics":["crc","crc16","crc32","crc64","crc8","digest","ruby"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postmodern.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"postmodern"}},"created_at":"2010-05-28T11:33:17.000Z","updated_at":"2026-02-14T04:15:52.000Z","dependencies_parsed_at":"2026-03-13T05:00:41.066Z","dependency_job_id":null,"html_url":"https://github.com/postmodern/digest-crc","commit_stats":{"total_commits":237,"total_committers":10,"mean_commits":23.7,"dds":0.08016877637130804,"last_synced_commit":"9e50ddfe1cba161e2185d80faabd0d0a803d7065"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/postmodern/digest-crc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/sbom","scorecard":{"id":741941,"data":{"date":"2025-08-11","repo":{"name":"github.com/postmodern/digest-crc","commit":"a4015c0826bbdf80db51109640d9fcd1aac2a398"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Code-Review","score":2,"reason":"Found 6/29 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/integration.yml:1","Warn: no topLevel permission defined: .github/workflows/ruby.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.7.0 not signed: https://api.github.com/repos/postmodern/digest-crc/releases/197084890","Warn: release artifact v0.7.0 does not have provenance: https://api.github.com/repos/postmodern/digest-crc/releases/197084890"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ruby.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ruby.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.base:2","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc:1","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc-and-make:1","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T17:39:53.714Z","repository_id":924879,"created_at":"2025-08-22T17:39:53.714Z","updated_at":"2025-08-22T17:39:53.714Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32323245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"postmodern","name":"Postmodern","uuid":"12671","kind":"user","description":"Software Engineer, Open Source developer and maintainer, sometimes InfoSec. Ruby, Crystal, Bash.","email":"postmodern.mod3@gmail.com","website":"https://postmodern.github.io/","location":null,"twitter":"postmodern_mod3","company":null,"icon_url":"https://avatars.githubusercontent.com/u/12671?u=73c07204f5d9d411c98fc5efea4593782aee48d0\u0026v=4","repositories_count":191,"last_synced_at":"2026-04-13T19:30:58.646Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"postmodern"}},"html_url":"https://github.com/postmodern","funding_links":["https://github.com/sponsors/postmodern"],"total_stars":8347,"followers":1146,"following":0,"created_at":"2022-11-02T16:20:20.980Z","updated_at":"2026-04-13T19:30:58.646Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern/repositories"},"tags":[{"name":"v0.7.0","sha":"d7ab5572612f1a9b6e3043ba538267600758181d","kind":"tag","published_at":"2025-01-28T08:12:05.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.7.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.7.0/manifests"},{"name":"v0.6.5","sha":"ea7c5facab29725d438cb970bc6c2b5ea71d3ac1","kind":"tag","published_at":"2023-07-04T00:07:46.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.5","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.5/manifests"},{"name":"v0.6.4","sha":"ad043401abae83d0da0822c7e783c483e50e8bfb","kind":"tag","published_at":"2021-07-25T06:02:25.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.4","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.4/manifests"},{"name":"v0.6.3","sha":"9ea56af5a74be5c732cc2b653fc95ec360c83b18","kind":"tag","published_at":"2020-12-20T06:07:12.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.3","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"0264bfc2f3335f8ab65338b934799d1c861f15de","kind":"tag","published_at":"2020-12-03T23:37:31.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.2","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"e2f903548648bddcd9f37382572239e32a05cd1a","kind":"tag","published_at":"2020-07-02T23:07:07.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"5c09c5a84ed05e0ca34b1730c6500819bb83084a","kind":"tag","published_at":"2020-07-02T00:11:26.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0/manifests"},{"name":"v0.6.0.rc1","sha":"52b48428534c9001e375889c2bb66beb3fa5a0e8","kind":"tag","published_at":"2020-06-16T22:41:03.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.6.0.rc1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.6.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.6.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.6.0.rc1/manifests"},{"name":"v0.5.1","sha":"05856b9eae05a2cd259c92e4479e3871a14f8046","kind":"tag","published_at":"2020-03-04T06:31:14.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.5.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f7f7cdf88a90d25d4aeefcc5bb1c75a2b7e3ff66","kind":"tag","published_at":"2020-03-02T04:50:41.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.5.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"0bd3121da8639ac5207afbb67a19f8059b9c90bb","kind":"tag","published_at":"2020-03-02T04:17:35.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.2","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"88ee663583407e9f95de6545400e234adc44c075","kind":"tag","published_at":"2014-04-17T06:55:21.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.1","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"233023636156eaec235a7b8c745383b99abb23be","kind":"tag","published_at":"2013-02-14T02:28:39.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.4.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"5ce88e4afb619b038957bd3e8116673a54556e05","kind":"commit","published_at":"2011-09-24T22:51:09.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.3.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"e8faaa0c6473e454c9778f60d6475c219f1e2bde","kind":"commit","published_at":"2011-05-10T23:02:47.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.2.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"92615df800d0ffc61b24a57a1e1a673bec64251f","kind":"commit","published_at":"2010-06-01T20:05:57.000Z","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/v0.1.0","html_url":"https://github.com/postmodern/digest-crc/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/postmodern/digest-crc@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-27T05:08:28.556Z","dependent_packages_count":0,"downloads":286642817,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.0924564211254812,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.15841948181149704,"average":0.06271897573424456},"purl":"pkg:gem/digest-crc?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/digest-crc","docker_dependents_count":637,"docker_downloads_count":581672213,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/digest-crc/dependencies","status":null,"funding_links":["https://github.com/sponsors/postmodern"],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-23T18:23:51.620Z","issues_count":27,"pull_requests_count":20,"avg_time_to_close_issue":9794287.736842105,"avg_time_to_close_pull_request":13466761.222222222,"issues_closed_count":19,"pull_requests_closed_count":18,"pull_request_authors_count":11,"issue_authors_count":21,"avg_comments_per_issue":3.4074074074074074,"avg_comments_per_pull_request":2.7,"merged_pull_requests_count":12,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":6726.0,"past_year_avg_time_to_close_pull_request":34424.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/issues","maintainers":[{"login":"postmodern","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}],"active_maintainers":[{"login":"postmodern","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/digest-crc/codemeta","maintainers":[{"uuid":"212","login":"postmodern","name":null,"email":null,"url":null,"packages_count":134,"html_url":"https://gem.coop/profiles/postmodern","role":null,"created_at":"2025-10-07T15:45:56.901Z","updated_at":"2025-10-07T15:45:56.901Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/postmodern/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190343,"maintainers_count":67464,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":13816721,"name":"precompiled-digest-crc","ecosystem":"rubygems","description":"Adds support for calculating Cyclic Redundancy Check (CRC) to the Digest module.","homepage":"https://github.com/postmodern/digest-crc#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2026-02-14T02:36:19.617Z","latest_release_published_at":"2026-02-14T02:36:22.115Z","latest_release_number":"0.7.0","last_synced_at":"2026-04-27T14:22:25.402Z","created_at":"2026-02-14T02:45:26.070Z","updated_at":"2026-04-27T14:22:38.969Z","registry_url":"https://rubygems.org/gems/precompiled-digest-crc","install_command":"gem install precompiled-digest-crc -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/precompiled-digest-crc/","metadata":{"funding":null},"repo_metadata":{"id":924879,"uuid":"690914","full_name":"postmodern/digest-crc","owner":"postmodern","description":"A Cyclic Redundancy Check (CRC) library for Ruby.","archived":false,"fork":false,"pushed_at":"2026-02-14T04:15:48.000Z","size":232,"stargazers_count":93,"open_issues_count":7,"forks_count":32,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-18T19:35:08.879Z","etag":null,"topics":["crc","crc16","crc32","crc64","crc8","digest","ruby"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postmodern.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"postmodern"}},"created_at":"2010-05-28T11:33:17.000Z","updated_at":"2026-02-14T04:15:52.000Z","dependencies_parsed_at":"2026-01-19T03:01:52.317Z","dependency_job_id":null,"html_url":"https://github.com/postmodern/digest-crc","commit_stats":{"total_commits":237,"total_committers":10,"mean_commits":23.7,"dds":0.08016877637130804,"last_synced_commit":"9e50ddfe1cba161e2185d80faabd0d0a803d7065"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/postmodern/digest-crc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postmodern","download_url":"https://codeload.github.com/postmodern/digest-crc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/sbom","scorecard":{"id":741941,"data":{"date":"2025-08-11","repo":{"name":"github.com/postmodern/digest-crc","commit":"a4015c0826bbdf80db51109640d9fcd1aac2a398"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Code-Review","score":2,"reason":"Found 6/29 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/integration.yml:1","Warn: no topLevel permission defined: .github/workflows/ruby.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.7.0 not signed: https://api.github.com/repos/postmodern/digest-crc/releases/197084890","Warn: release artifact v0.7.0 does not have provenance: https://api.github.com/repos/postmodern/digest-crc/releases/197084890"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/integration.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/integration.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ruby.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ruby.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/postmodern/digest-crc/ruby.yml/main?enable=pin","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.base:2","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc:1","Warn: containerImage not pinned by hash: spec/integration/docker/Dockerfile.with-gcc-and-make:1","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T17:39:53.714Z","repository_id":924879,"created_at":"2025-08-22T17:39:53.714Z","updated_at":"2025-08-22T17:39:53.714Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29661585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T16:33:43.953Z","status":"ssl_error","status_checked_at":"2026-02-20T16:33:43.598Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-27T14:22:38.968Z","dependent_packages_count":0,"downloads":658,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.68138583267931,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.89379527755977},"purl":"pkg:gem/precompiled-digest-crc","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/precompiled-digest-crc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/precompiled-digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/precompiled-digest-crc/dependencies","status":null,"funding_links":["https://github.com/sponsors/postmodern"],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-23T18:23:51.620Z","issues_count":27,"pull_requests_count":20,"avg_time_to_close_issue":9794287.736842105,"avg_time_to_close_pull_request":13466761.222222222,"issues_closed_count":19,"pull_requests_closed_count":18,"pull_request_authors_count":11,"issue_authors_count":21,"avg_comments_per_issue":3.4074074074074074,"avg_comments_per_pull_request":2.7,"merged_pull_requests_count":12,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":6726.0,"past_year_avg_time_to_close_pull_request":34424.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/issues","maintainers":[{"login":"postmodern","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}],"active_maintainers":[{"login":"postmodern","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/precompiled-digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/precompiled-digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/precompiled-digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/precompiled-digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/precompiled-digest-crc/codemeta","maintainers":[{"uuid":"78226","login":"shopify","name":null,"email":null,"url":null,"packages_count":356,"html_url":"https://rubygems.org/profiles/shopify","role":null,"created_at":"2026-02-14T02:45:28.771Z","updated_at":"2026-02-14T02:45:28.771Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/shopify/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205490,"maintainers_count":68456,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":13466560,"name":"ruby-digest-crc","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/postmodern/digest-crc#readme","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:26:51.108Z","latest_release_published_at":"2026-02-09T16:26:51.108Z","latest_release_number":"0.4.0-2","last_synced_at":"2026-03-09T17:04:38.543Z","created_at":"2026-02-09T16:26:50.811Z","updated_at":"2026-03-09T17:32:27.562Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-digest-crc","install_command":"apt-get install ruby-digest-crc","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-digest-crc","standards_version":"4.6.2","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-digest-crc?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-digest-crc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-digest-crc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-digest-crc/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":13668794,"name":"ruby-digest-crc","ecosystem":"debian","description":null,"homepage":"https://github.com/postmodern/digest-crc#readme","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:21:21.519Z","latest_release_published_at":"2026-02-12T12:21:21.519Z","latest_release_number":"0.4.0-2","last_synced_at":"2026-03-14T18:07:13.364Z","created_at":"2026-02-12T12:21:21.190Z","updated_at":"2026-03-14T18:07:13.364Z","registry_url":"https://tracker.debian.org/pkg/ruby-digest-crc","install_command":"apt-get install ruby-digest-crc","documentation_url":"https://packages.debian.org/trixie/ruby-digest-crc","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-digest-crc","standards_version":"4.6.2","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:22:00.846Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-digest-crc?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-digest-crc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-digest-crc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-digest-crc/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}},{"id":13406530,"name":"ruby-digest-crc","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/postmodern/digest-crc#readme","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/postmodern/digest-crc","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T15:04:29.472Z","latest_release_published_at":"2026-02-06T15:04:29.472Z","latest_release_number":"0.4.0-2","last_synced_at":"2026-03-06T16:47:02.490Z","created_at":"2026-02-06T15:04:27.097Z","updated_at":"2026-03-06T16:47:02.490Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-digest-crc","install_command":"apt-get install ruby-digest-crc","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-digest-crc","standards_version":"4.6.2","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:deb/ubuntu/ruby-digest-crc?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-digest-crc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-digest-crc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-digest-crc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-digest-crc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-digest-crc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-digest-crc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-digest-crc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-digest-crc/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}}],"commits":{"id":868339,"full_name":"postmodern/digest-crc","default_branch":"main","total_commits":250,"total_committers":11,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":22.727272727272727,"dds":0.07999999999999996,"past_year_total_commits":4,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":4.0,"past_year_dds":0.0,"last_synced_at":"2026-04-28T07:29:07.723Z","last_synced_commit":"64bad43ba7cc76b014eb92d0800abd9d2ae3a634","created_at":"2023-03-09T20:50:29.859Z","updated_at":"2026-04-28T07:28:35.854Z","committers":[{"name":"Postmodern","email":"postmodern.mod3@gmail.com","login":"postmodern","count":230},{"name":"Ivan","email":"ivankorunkov@ya.ru","login":"korun","count":7},{"name":"dearblue","email":"dearblue@users.osdn.me","login":"dearblue","count":4},{"name":"Marcos Piccinini","email":"x@nofxx.com","login":"nofxx","count":2},{"name":"ojab","email":"ojab@ojab.ru","login":"ojab","count":1},{"name":"Roger Oba","email":"rogerluan.oba@gmail.com","login":"rogerluan","count":1},{"name":"Philipp Großelfinger","email":"philipp@pollunit.com","login":"phigrofi","count":1},{"name":"Matt Pasquini","email":"matt.pasquini@coupa.com","login":"mrpasquini","count":1},{"name":"Joel Helbling","email":"joel@joelhelbling.com","login":"joelhelbling","count":1},{"name":"Akira Matsuda","email":"ronnie@dio.jp","login":"amatsuda","count":1},{"name":"Henry Garner","email":"henry.garner@mac.com","login":null,"count":1}],"past_year_committers":[{"name":"Postmodern","email":"postmodern.mod3@gmail.com","login":"postmodern","count":4}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-30T00:00:07.427Z","repositories_count":6223398,"commits_count":900007844,"contributors_count":34899425,"owners_count":1147632,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"postmodern/digest-crc","html_url":"https://github.com/postmodern/digest-crc","last_synced_at":"2026-04-23T18:23:51.620Z","status":"error","issues_count":27,"pull_requests_count":20,"avg_time_to_close_issue":9794287.736842105,"avg_time_to_close_pull_request":13466761.222222222,"issues_closed_count":19,"pull_requests_closed_count":18,"pull_request_authors_count":11,"issue_authors_count":21,"avg_comments_per_issue":3.4074074074074074,"avg_comments_per_pull_request":2.7,"merged_pull_requests_count":12,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":6726.0,"past_year_avg_time_to_close_pull_request":34424.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-12T09:51:16.661Z","updated_at":"2026-04-23T18:23:51.621Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/postmodern%2Fdigest-crc/issues","issue_labels_count":{"install":4,"bug":3,"improvement":3,"performance":2,"build system":1,"ractors":1,"ruby-4.x":1,"testing":1,"help-wanted":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":18,"OWNER":5,"CONTRIBUTOR":4},"pull_request_author_associations_count":{"CONTRIBUTOR":14,"NONE":6},"issue_authors":{"postmodern":5,"ajunB7":2,"dearblue":2,"yxhuvud":1,"maxTeste":1,"lzap":1,"manuyavuz-pointr":1,"joelhelbling":1,"paulia":1,"MadBomber":1,"AxelTheGerman":1,"kohenkatz":1,"travishaynes":1,"Whirlwind":1,"nguyenquangminh0711":1,"korun":1,"skandragon":1,"Aviortheking":1,"jviotti":1,"xalbillos":1,"func0der":1},"pull_request_authors":{"korun":4,"dearblue":4,"ojab":2,"amatsuda":2,"mrpasquini":2,"mateuszdraco":1,"joelhelbling":1,"rogerluan":1,"davispuh":1,"phigrofi":1,"henrygarner":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-30T00:00:06.639Z","repositories_count":14448193,"issues_count":34185574,"pull_requests_count":112233628,"authors_count":11249282,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":1,"ractors":1,"ruby-4.x":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1,"OWNER":1},"past_year_pull_request_author_associations_count":{"NONE":1},"past_year_issue_authors":{"AxelTheGerman":1,"postmodern":1},"past_year_pull_request_authors":{"davispuh":1},"maintainers":[{"login":"postmodern","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}],"active_maintainers":[{"login":"postmodern","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/postmodern"}]},"events":{"total":{"ReleaseEvent":1,"DeleteEvent":3,"PullRequestEvent":3,"ForkEvent":3,"IssuesEvent":3,"WatchEvent":1,"IssueCommentEvent":4,"PushEvent":6,"PullRequestReviewEvent":3,"PullRequestReviewCommentEvent":5,"CreateEvent":1},"last_year":{"DeleteEvent":1,"PullRequestEvent":1,"ForkEvent":1,"IssuesEvent":2,"PushEvent":1}},"keywords":["crc","crc16","crc32","crc64","crc8","digest","ruby"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-05T21:33:15.266Z","updated_at":"2022-07-05T21:33:15.266Z","repository_link":"https://github.com/postmodern/digest-crc/blob/main/Gemfile","dependencies":[{"id":107035012,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":107035013,"package_name":"rubygems-tasks","ecosystem":"rubygems","requirements":"~\u003e 0.2","direct":true,"kind":"development","optional":false},{"id":107035014,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3.0","direct":true,"kind":"development","optional":false},{"id":107035015,"package_name":"yard","ecosystem":"rubygems","requirements":"~\u003e 0.9","direct":true,"kind":"development","optional":false},{"id":107035016,"package_name":"kramdown","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":107035017,"package_name":"kramdown-parser-gfm","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":107035018,"package_name":"github-markup","ecosystem":"rubygems","requirements":"~\u003e 1.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/integration.yml","sha":null,"kind":"manifest","created_at":"2023-07-10T21:46:28.877Z","updated_at":"2023-07-10T21:46:28.877Z","repository_link":"https://github.com/postmodern/digest-crc/blob/main/.github/workflows/integration.yml","dependencies":[{"id":11305078761,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11305078762,"package_name":"docker-practice/actions-setup-docker","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":11305078842,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ruby.yml","sha":null,"kind":"manifest","created_at":"2023-07-10T21:46:29.087Z","updated_at":"2023-07-10T21:46:29.087Z","repository_link":"https://github.com/postmodern/digest-crc/blob/main/.github/workflows/ruby.yml","dependencies":[{"id":11305079269,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11305079270,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"digest-crc.gemspec","sha":null,"kind":"manifest","created_at":"2023-12-28T05:30:40.182Z","updated_at":"2023-12-28T05:30:40.182Z","repository_link":"https://github.com/postmodern/digest-crc/blob/main/digest-crc.gemspec","dependencies":[]}],"score":28.27829125877042,"created_at":"2024-12-15T21:38:07.971Z","updated_at":"2026-04-30T04:00:21.691Z","avatar_url":"https://github.com/postmodern.png","language":"C","monthly_downloads":0,"readme":"# Digest CRC\n\n[![CI](https://github.com/postmodern/digest-crc/actions/workflows/ruby.yml/badge.svg)](https://github.com/postmodern/digest-crc/actions/workflows/ruby.yml)\n\n* [Source](https://github.com/postmodern/digest-crc)\n* [Issues](https://github.com/postmodern/digest-crc/issues)\n* [Documentation](http://rubydoc.info/gems/digest-crc/frames)\n\n## Description\n\nAdds support for calculating Cyclic Redundancy Check (CRC) to the Digest\nmodule.\n\n## Features\n\n* Provides support for the following CRC algorithms:\n  * [CRC1](https://rubydoc.info/gems/digest-crc/Digest/CRC1)\n  * [CRC5](https://rubydoc.info/gems/digest-crc/Digest/CRC5)\n  * [CRC8](https://rubydoc.info/gems/digest-crc/Digest/CRC8)\n  * [CRC8 1-Wire](https://rubydoc.info/gems/digest-crc/Digest/CRC8_1Wire)\n  * [CRC15](https://rubydoc.info/gems/digest-crc/Digest/CRC15)\n  * [CRC16](https://rubydoc.info/gems/digest-crc/Digest/CRC16)\n  * [CRC16 CCITT](https://rubydoc.info/gems/digest-crc/Digest/CRC16CCITT)\n  * [CRC16 DNP](https://rubydoc.info/gems/digest-crc/Digest/CRC16DNP)\n  * [CRC16 Genibus](https://rubydoc.info/gems/digest-crc/Digest/CRC16Genibus)\n  * [CRC16 Kermit](https://rubydoc.info/gems/digest-crc/Digest/CRC16Kermit)\n  * [CRC16 Modbus](https://rubydoc.info/gems/digest-crc/Digest/CRC16Modbus)\n  * [CRC16 USB](https://rubydoc.info/gems/digest-crc/Digest/CRC16USB)\n  * [CRC16 X25](https://rubydoc.info/gems/digest-crc/Digest/CRC16X25)\n  * [CRC16 XModem](https://rubydoc.info/gems/digest-crc/Digest/CRC16XModem)\n  * [CRC16 ZModem](https://rubydoc.info/gems/digest-crc/Digest/CRC16ZModem)\n  * [CRC16 QT](https://rubydoc.info/gems/digest-crc/Digest/CRC16QT)\n  * [CRC24](https://rubydoc.info/gems/digest-crc/Digest/CRC24)\n  * [CRC32](https://rubydoc.info/gems/digest-crc/Digest/CRC32)\n  * [CRC32 BZip2](https://rubydoc.info/gems/digest-crc/Digest/CRC32BZip2)\n  * [CRC32c](https://rubydoc.info/gems/digest-crc/Digest/CRC32c)\n  * [CRC32 Jam](https://rubydoc.info/gems/digest-crc/Digest/CRC32Jam)\n  * [CRC32 MPEG](https://rubydoc.info/gems/digest-crc/Digest/CRC32MPEG)\n  * [CRC32 POSIX](https://rubydoc.info/gems/digest-crc/Digest/CRC32POSIX)\n  * [CRC32 XFER](https://rubydoc.info/gems/digest-crc/Digest/CRC32XFER)\n  * [CRC64](https://rubydoc.info/gems/digest-crc/Digest/CRC64)\n  * [CRC64 Jones](https://rubydoc.info/gems/digest-crc/Digest/CRC64Jones)\n  * [CRC64 NVMe](https://rubydoc.info/gems/digest-crc/Digest/CRC64Nvme)\n  * [CRC64 XZ](https://rubydoc.info/gems/digest-crc/Digest/CRC64XZ)\n* Pure Ruby implementation.\n* Provides CRC Tables for optimized calculations.\n* Supports _optional_ C extensions which increases performance by ~40x.\n  * If the C extensions cannot be compiled for whatever reason, digest-crc\n    will automatically fallback to the pure-Ruby implementation.\n\n## Install\n\n```\ngem install digest-crc\n```\n\n**Note:** to enable the C extensions ensure that you are using CRuby and have\na C compiler (`gcc` or `clang`) and `make` installed, _before_ installing\ndigest-crc.\n\n* Debian / Ubuntu:\n\n      $ sudo apt install gcc make\n\n* RedHat / Fedora:\n\n      $ sudo dnf install gcc make\n\n* Alpine Linux:\n\n      $ apk add build-base\n\n* macOS: install XCode\n\n## Examples\n\nCalculate a CRC32:\n\n```ruby\nrequire 'digest/crc32'\n\nDigest::CRC32.hexdigest('hello')\n# =\u003e \"3610a686\"\n```\n\nCalculate a CRC32 of a file:\n\n```ruby\nDigest::CRC32.file('README.md')\n# =\u003e #\u003cDigest::CRC32: 127ad531\u003e\n```\n\nIncrementally calculate a CRC32:\n\n```ruby\ncrc = Digest::CRC32.new\ncrc \u003c\u003c 'one'\ncrc \u003c\u003c 'two'\ncrc \u003c\u003c 'three'\ncrc.hexdigest\n# =\u003e \"09e1c092\"\n```\n\nDirectly access the checksum:\n\n```ruby\ncrc.checksum\n# =\u003e 165789842\n```\n\nDefining your own CRC class:\n\n```ruby\nrequire 'digest/crc32'\n\nmodule Digest\n  class CRC3000 \u003c CRC32\n\n    WIDTH = 32\n\n    REFLECT_INPUT = true\n\n    INIT_CRC = 0xffffffff\n\n    XOR_MASK = 0xffffffff\n\n    TABLE = [\n      # ....\n    ].freeze\n  end\nend\n```\n\n## Benchmarks\n\n### Ruby 2.7.4 (pure Ruby)\n\n    $ bundle exec rake clean\n    $ bundle exec ./benchmarks.rb\n    Loading Digest::CRC classes ...\n    Generating 1000 8Kb lengthed strings ...\n    Benchmarking Digest::CRC classes ...\n                                      user     system      total        real\n    Digest::CRC1#update           0.423741   0.000000   0.423741 (  0.425887)\n    Digest::CRC5#update           1.486578   0.000011   1.486589 (  1.493215)\n    Digest::CRC8#update           1.261386   0.000000   1.261386 (  1.266399)\n    Digest::CRC8_1Wire#update     1.250344   0.000000   1.250344 (  1.255009)\n    Digest::CRC15#update          1.482515   0.000000   1.482515 (  1.488131)\n    Digest::CRC16#update          1.216744   0.000811   1.217555 (  1.222228)\n    Digest::CRC16CCITT#update     1.480490   0.000000   1.480490 (  1.486745)\n    Digest::CRC16DNP#update       1.200067   0.000000   1.200067 (  1.204835)\n    Digest::CRC16Genibus#update   1.492910   0.000000   1.492910 (  1.498923)\n    Digest::CRC16Modbus#update    1.217449   0.000003   1.217452 (  1.222348)\n    Digest::CRC16QT#update        1.223311   0.000000   1.223311 (  1.229211)\n    Digest::CRC16USB#update       1.233744   0.000000   1.233744 (  1.238615)\n    Digest::CRC16X25#update       1.223077   0.000000   1.223077 (  1.227607)\n    Digest::CRC16XModem#update    1.487674   0.000000   1.487674 (  1.493316)\n    Digest::CRC16ZModem#update    1.484288   0.000000   1.484288 (  1.490096)\n    Digest::CRC24#update          1.490272   0.000000   1.490272 (  1.496027)\n    Digest::CRC32#update          1.225311   0.000000   1.225311 (  1.230572)\n    Digest::CRC32BZip2#update     1.503096   0.000000   1.503096 (  1.509202)\n    Digest::CRC32c#update         1.220390   0.000000   1.220390 (  1.225487)\n    Digest::CRC32Jam#update       1.216066   0.000000   1.216066 (  1.220591)\n    Digest::CRC32MPEG#update      1.486808   0.000000   1.486808 (  1.492611)\n    Digest::CRC32POSIX#update     1.494508   0.000957   1.495465 (  1.503262)\n    Digest::CRC32XFER#update      1.504802   0.005830   1.510632 (  1.522066)\n    Digest::CRC64#update          3.260784   0.015674   3.276458 (  3.310506)\n    Digest::CRC64Jones#update     3.195204   0.000000   3.195204 (  3.213054)\n    Digest::CRC64XZ#update        3.173597   0.000000   3.173597 (  3.190438)\n\n### Ruby 2.7.4 (C extensions)\n\n    $ bundle exec rake build:c_exts\n    ...\n    $ bundle exec ./benchmarks.rb\n    Loading Digest::CRC classes ...\n    Generating 1000 8Kb lengthed strings ...\n    Benchmarking Digest::CRC classes ...\n                                      user     system      total        real\n    Digest::CRC1#update           0.443619   0.000007   0.443626 (  0.446545)\n    Digest::CRC5#update           0.025134   0.000806   0.025940 (  0.026129)\n    Digest::CRC8#update           0.022564   0.000000   0.022564 (  0.022775)\n    Digest::CRC8_1Wire#update     0.021427   0.000008   0.021435 (  0.021551)\n    Digest::CRC15#update          0.030377   0.000833   0.031210 (  0.031406)\n    Digest::CRC16#update          0.024004   0.000002   0.024006 (  0.024418)\n    Digest::CRC16CCITT#update     0.026930   0.000001   0.026931 (  0.027238)\n    Digest::CRC16DNP#update       0.024279   0.000000   0.024279 (  0.024446)\n    Digest::CRC16Genibus#update   0.026477   0.000004   0.026481 (  0.026656)\n    Digest::CRC16Modbus#update    0.023568   0.000000   0.023568 (  0.023704)\n    Digest::CRC16QT#update        0.024161   0.000000   0.024161 (  0.024316)\n    Digest::CRC16USB#update       0.023891   0.000000   0.023891 (  0.024038)\n    Digest::CRC16X25#update       0.023849   0.000000   0.023849 (  0.023991)\n    Digest::CRC16XModem#update    0.026254   0.000000   0.026254 (  0.026523)\n    Digest::CRC16ZModem#update    0.026391   0.000000   0.026391 (  0.026529)\n    Digest::CRC24#update          0.028805   0.000854   0.029659 (  0.029830)\n    Digest::CRC32#update          0.024030   0.000000   0.024030 (  0.024200)\n    Digest::CRC32BZip2#update     0.026942   0.000000   0.026942 (  0.027244)\n    Digest::CRC32c#update         0.023989   0.000000   0.023989 (  0.024159)\n    Digest::CRC32Jam#update       0.023940   0.000000   0.023940 (  0.024066)\n    Digest::CRC32MPEG#update      0.027063   0.000000   0.027063 (  0.027213)\n    Digest::CRC32POSIX#update     0.027137   0.000000   0.027137 (  0.028160)\n    Digest::CRC32XFER#update      0.026956   0.000002   0.026958 (  0.027103)\n    Digest::CRC64#update          0.024222   0.000005   0.024227 (  0.024796)\n    Digest::CRC64Jones#update     0.025331   0.000000   0.025331 (  0.025789)\n    Digest::CRC64XZ#update        0.024131   0.000001   0.024132 (  0.024348)\n\n### Ruby 3.0.2 (pure Ruby)\n\n    $ bundle exec rake clean\n    $ bundle exec ./benchmarks.rb\n    Loading Digest::CRC classes ...\n    Generating 1000 8Kb lengthed strings ...\n    Benchmarking Digest::CRC classes ...\n                                      user     system      total        real\n    Digest::CRC1#update           0.331405   0.000002   0.331407 (  0.333588)\n    Digest::CRC5#update           1.206847   0.000020   1.206867 (  1.224072)\n    Digest::CRC8#update           1.018571   0.000000   1.018571 (  1.023002)\n    Digest::CRC8_1Wire#update     1.018802   0.000000   1.018802 (  1.023292)\n    Digest::CRC15#update          1.207586   0.000000   1.207586 (  1.212691)\n    Digest::CRC16#update          1.032505   0.000965   1.033470 (  1.040862)\n    Digest::CRC16CCITT#update     1.198079   0.000000   1.198079 (  1.203134)\n    Digest::CRC16DNP#update       0.994582   0.000000   0.994582 (  1.006520)\n    Digest::CRC16Genibus#update   1.190596   0.000000   1.190596 (  1.196087)\n    Digest::CRC16Modbus#update    1.007826   0.000000   1.007826 (  1.012934)\n    Digest::CRC16QT#update        0.996298   0.000001   0.996299 (  1.000255)\n    Digest::CRC16USB#update       0.995806   0.000000   0.995806 (  0.999822)\n    Digest::CRC16X25#update       1.019589   0.000000   1.019589 (  1.031010)\n    Digest::CRC16XModem#update    1.146947   0.000000   1.146947 (  1.150817)\n    Digest::CRC16ZModem#update    1.145145   0.000000   1.145145 (  1.149483)\n    Digest::CRC24#update          1.149009   0.000000   1.149009 (  1.152854)\n    Digest::CRC32#update          0.970976   0.000000   0.970976 (  0.974227)\n    Digest::CRC32BZip2#update     1.148596   0.000000   1.148596 (  1.152381)\n    Digest::CRC32c#update         0.972566   0.000000   0.972566 (  0.975790)\n    Digest::CRC32Jam#update       0.975854   0.000000   0.975854 (  0.979217)\n    Digest::CRC32MPEG#update      1.148578   0.000000   1.148578 (  1.153088)\n    Digest::CRC32POSIX#update     1.146218   0.000986   1.147204 (  1.152460)\n    Digest::CRC32XFER#update      1.149823   0.000000   1.149823 (  1.153692)\n    Digest::CRC64#update          2.869948   0.000016   2.869964 (  2.884261)\n    Digest::CRC64Jones#update     2.867662   0.000000   2.867662 (  2.886559)\n    Digest::CRC64XZ#update        2.858847   0.000000   2.858847 (  2.874058)\n\n### Ruby 3.0.2 (C extensions)\n\n    $ bundle exec rake build:c_exts\n    ...\n    $ bundle exec ./benchmarks.rb\n    Loading Digest::CRC classes ...\n    Generating 1000 8Kb lengthed strings ...\n    Benchmarking Digest::CRC classes ...\n                                      user     system      total        real\n    Digest::CRC1#update           0.349055   0.000000   0.349055 (  0.350454)\n    Digest::CRC5#update           0.023144   0.000000   0.023144 (  0.023248)\n    Digest::CRC8#update           0.021378   0.000000   0.021378 (  0.021522)\n    Digest::CRC8_1Wire#update     0.021019   0.000000   0.021019 (  0.021145)\n    Digest::CRC15#update          0.030063   0.000003   0.030066 (  0.030245)\n    Digest::CRC16#update          0.024395   0.000000   0.024395 (  0.024572)\n    Digest::CRC16CCITT#update     0.026979   0.000000   0.026979 (  0.027138)\n    Digest::CRC16DNP#update       0.024665   0.000000   0.024665 (  0.024844)\n    Digest::CRC16Genibus#update   0.027054   0.000000   0.027054 (  0.027217)\n    Digest::CRC16Modbus#update    0.023963   0.000000   0.023963 (  0.024257)\n    Digest::CRC16QT#update        0.024218   0.000000   0.024218 (  0.024360)\n    Digest::CRC16USB#update       0.024393   0.000000   0.024393 (  0.024561)\n    Digest::CRC16X25#update       0.025127   0.000000   0.025127 (  0.025292)\n    Digest::CRC16XModem#update    0.028123   0.000000   0.028123 (  0.028377)\n    Digest::CRC16ZModem#update    0.028205   0.000000   0.028205 (  0.028571)\n    Digest::CRC24#update          0.031386   0.000000   0.031386 (  0.031740)\n    Digest::CRC32#update          0.023832   0.000000   0.023832 (  0.023948)\n    Digest::CRC32BZip2#update     0.027159   0.000000   0.027159 (  0.027315)\n    Digest::CRC32c#update         0.024172   0.000000   0.024172 (  0.024310)\n    Digest::CRC32Jam#update       0.024376   0.000000   0.024376 (  0.024494)\n    Digest::CRC32MPEG#update      0.026035   0.000784   0.026819 (  0.026940)\n    Digest::CRC32POSIX#update     0.026784   0.000000   0.026784 (  0.026907)\n    Digest::CRC32XFER#update      0.026770   0.000000   0.026770 (  0.026893)\n    Digest::CRC64#update          0.024400   0.000009   0.024409 (  0.024531)\n    Digest::CRC64Jones#update     0.023477   0.000781   0.024258 (  0.024390)\n    Digest::CRC64XZ#update        0.024611   0.000000   0.024611 (  0.024779)\n\n### JRuby 9.2.18.0 (pure Ruby)\n\n    $ bundle exec ./benchmarks.rb\n    Loading Digest::CRC classes ...\n    Generating 1000 8Kb lengthed strings ...\n    Benchmarking Digest::CRC classes ...\n                                      user     system      total        real\n    Digest::CRC1#update           1.080000   0.050000   1.130000 (  0.676022)\n    Digest::CRC5#update           2.030000   0.040000   2.070000 (  1.089240)\n    Digest::CRC8#update           1.590000   0.000000   1.590000 (  0.999138)\n    Digest::CRC8_1Wire#update     0.920000   0.010000   0.930000 (  0.873813)\n    Digest::CRC15#update          1.470000   0.030000   1.500000 (  1.118886)\n    Digest::CRC16#update          1.780000   0.010000   1.790000 (  1.067874)\n    Digest::CRC16CCITT#update     1.500000   0.070000   1.570000 (  1.185564)\n    Digest::CRC16DNP#update       1.250000   0.000000   1.250000 (  0.972322)\n    Digest::CRC16Genibus#update   1.700000   0.010000   1.710000 (  1.092047)\n    Digest::CRC16Modbus#update    1.000000   0.010000   1.010000 (  0.915328)\n    Digest::CRC16QT#update        1.250000   0.000000   1.250000 (  0.968528)\n    Digest::CRC16USB#update       1.150000   0.010000   1.160000 (  0.990387)\n    Digest::CRC16X25#update       0.940000   0.000000   0.940000 (  0.926926)\n    Digest::CRC16XModem#update    1.390000   0.010000   1.400000 (  1.100584)\n    Digest::CRC16ZModem#update    1.760000   0.020000   1.780000 (  1.094003)\n    Digest::CRC24#update          1.690000   0.010000   1.700000 (  1.106875)\n    Digest::CRC32#update          1.410000   0.020000   1.430000 (  1.082506)\n    Digest::CRC32BZip2#update     1.510000   0.010000   1.520000 (  1.104225)\n    Digest::CRC32c#update         1.270000   0.010000   1.280000 (  1.023881)\n    Digest::CRC32Jam#update       1.190000   0.010000   1.200000 (  0.998146)\n    Digest::CRC32MPEG#update      1.580000   0.010000   1.590000 (  1.099086)\n    Digest::CRC32POSIX#update     1.550000   0.010000   1.560000 (  1.142051)\n    Digest::CRC32XFER#update      1.360000   0.000000   1.360000 (  1.071381)\n    Digest::CRC64#update          3.730000   0.020000   3.750000 (  2.780390)\n    Digest::CRC64Jones#update     2.710000   0.020000   2.730000 (  2.608007)\n    Digest::CRC64XZ#update        2.910000   0.020000   2.930000 (  2.629401)\n\n### TruffleRuby 21.2.0 (pure Ruby)\n\n    $ bundle exec rake clean\n    $ bundle exec ./benchmarks.rb\n    Loading Digest::CRC classes ...\n    Generating 1000 8Kb lengthed strings ...\n    Benchmarking Digest::CRC classes ...\n                                      user     system      total        real\n    Digest::CRC1#update           0.455340   0.000000   0.455340 (  0.457710)\n    Digest::CRC5#update           1.406700   0.000000   1.406700 (  1.412535)\n    Digest::CRC8#update           1.248323   0.000000   1.248323 (  1.255452)\n    Digest::CRC8_1Wire#update     1.269434   0.000000   1.269434 (  1.275315)\n    Digest::CRC15#update          1.428752   0.000000   1.428752 (  1.434836)\n    Digest::CRC16#update          1.220394   0.000967   1.221361 (  1.229684)\n    Digest::CRC16CCITT#update     1.434932   0.001000   1.435932 (  1.452391)\n    Digest::CRC16DNP#update       1.191351   0.000000   1.191351 (  1.202262)\n    Digest::CRC16Genibus#update   1.434067   0.000000   1.434067 (  1.440300)\n    Digest::CRC16Modbus#update    1.200827   0.000000   1.200827 (  1.205658)\n    Digest::CRC16QT#update        1.195077   0.000000   1.195077 (  1.200328)\n    Digest::CRC16USB#update       1.196266   0.000000   1.196266 (  1.201262)\n    Digest::CRC16X25#update       1.206690   0.000000   1.206690 (  1.211781)\n    Digest::CRC16XModem#update    1.430468   0.000000   1.430468 (  1.436801)\n    Digest::CRC16ZModem#update    1.442524   0.000000   1.442524 (  1.448624)\n    Digest::CRC24#update          1.447611   0.000018   1.447629 (  1.454534)\n    Digest::CRC32#update          1.214314   0.000000   1.214314 (  1.219838)\n    Digest::CRC32BZip2#update     1.427408   0.000000   1.427408 (  1.433626)\n    Digest::CRC32c#update         1.204985   0.000000   1.204985 (  1.210273)\n    Digest::CRC32Jam#update       1.235039   0.000000   1.235039 (  1.240686)\n    Digest::CRC32MPEG#update      1.429731   0.000000   1.429731 (  1.435404)\n    Digest::CRC32POSIX#update     1.458886   0.000000   1.458886 (  1.465914)\n    Digest::CRC32XFER#update      1.422109   0.000000   1.422109 (  1.427635)\n    Digest::CRC64#update          3.283506   0.000000   3.283506 (  3.303129)\n    Digest::CRC64Jones#update     3.297402   0.000000   3.297402 (  3.317357)\n    Digest::CRC64XZ#update        3.278551   0.001875   3.280426 (  3.315165)\n\n\n### TruffleRuby 21.2.0 (C extensions)\n\n    $ bundle exec rake build:c_exts\n    ...\n    $ bundle exec ./benchmarks.rb\n    Loading Digest::CRC classes ...\n    Generating 1000 8Kb lengthed strings ...\n    Benchmarking Digest::CRC classes ...\n                                      user     system      total        real\n    Digest::CRC1#update           0.480586   0.000014   0.480600 (  0.482817)\n    Digest::CRC5#update           0.023795   0.000000   0.023795 (  0.023941)\n    Digest::CRC8#update           0.020619   0.000000   0.020619 (  0.020747)\n    Digest::CRC8_1Wire#update     0.020571   0.000000   0.020571 (  0.020700)\n    Digest::CRC15#update          0.031224   0.000000   0.031224 (  0.031412)\n    Digest::CRC16#update          0.024013   0.000000   0.024013 (  0.024174)\n    Digest::CRC16CCITT#update     0.026790   0.000000   0.026790 (  0.027079)\n    Digest::CRC16DNP#update       0.024253   0.000000   0.024253 (  0.024427)\n    Digest::CRC16Genibus#update   0.027237   0.000000   0.027237 (  0.027390)\n    Digest::CRC16Modbus#update    0.024376   0.000000   0.024376 (  0.024548)\n    Digest::CRC16QT#update        0.024361   0.000000   0.024361 (  0.024518)\n    Digest::CRC16USB#update       0.024142   0.000000   0.024142 (  0.024311)\n    Digest::CRC16X25#update       0.024098   0.000000   0.024098 (  0.024222)\n    Digest::CRC16XModem#update    0.026306   0.000000   0.026306 (  0.026502)\n    Digest::CRC16ZModem#update    0.026536   0.000000   0.026536 (  0.026688)\n    Digest::CRC24#update          0.029732   0.000000   0.029732 (  0.029902)\n    Digest::CRC32#update          0.024219   0.000000   0.024219 (  0.024391)\n    Digest::CRC32BZip2#update     0.026817   0.000000   0.026817 (  0.027044)\n    Digest::CRC32c#update         0.023681   0.000000   0.023681 (  0.023798)\n    Digest::CRC32Jam#update       0.024243   0.000000   0.024243 (  0.024419)\n    Digest::CRC32MPEG#update      0.026865   0.000000   0.026865 (  0.027020)\n    Digest::CRC32POSIX#update     0.026583   0.000000   0.026583 (  0.026748)\n    Digest::CRC32XFER#update      0.027423   0.000000   0.027423 (  0.027615)\n    Digest::CRC64#update          0.024150   0.000000   0.024150 (  0.024310)\n    Digest::CRC64Jones#update     0.024218   0.000000   0.024218 (  0.024363)\n    Digest::CRC64XZ#update        0.024124   0.000000   0.024124 (  0.024255)\n\n## Crystal\n\n[crystal-crc] is a [Crystal][crystal-lang] port of this library.\n\n[crystal-crc]: https://github.com/postmodern/crystal-crc\n[crystal-lang]: https://www.crystal-lang.org/\n\n## Thanks\n\nSpecial thanks go out to the [pycrc](http://www.tty1.net/pycrc/) library\nwhich is able to generate C source-code for all of the CRC algorithms,\nincluding their CRC Tables.\n\n## License\n\nCopyright (c) 2010-2025 Hal Brodigan\n\nSee {file:LICENSE.txt} for license information.\n","funding_links":["https://github.com/sponsors/postmodern"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["rubygems","activerecord","activejob","mvc","crash-reporting","rspec","sinatra","rdoc","ruby-documentation","yard"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/408","html_url":"https://ruby.ecosyste.ms/projects/408"}