{"id":537,"name":null,"description":"bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.","url":"https://github.com/bcrypt-ruby/bcrypt-ruby","last_synced_at":"2026-04-30T04:03:12.906Z","repository":{"id":397217,"uuid":"15293","full_name":"bcrypt-ruby/bcrypt-ruby","owner":"bcrypt-ruby","description":"bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.","archived":false,"fork":false,"pushed_at":"2026-03-27T19:38:11.000Z","size":412,"stargazers_count":1971,"open_issues_count":18,"forks_count":287,"subscribers_count":45,"default_branch":"master","last_synced_at":"2026-04-26T17:06:34.905Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcrypt-ruby.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2008-05-07T23:29:27.000Z","updated_at":"2026-04-26T10:42:09.000Z","dependencies_parsed_at":"2026-03-28T07:05:46.020Z","dependency_job_id":null,"html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","commit_stats":{"total_commits":276,"total_committers":61,"mean_commits":4.524590163934426,"dds":0.8514492753623188,"last_synced_commit":"2d235482b5c994bab09caa3fb4ece3e333c537ed"},"previous_names":["codahale/bcrypt-ruby"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32364093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"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":{"login":"bcrypt-ruby","name":"bcrypt-ruby","uuid":"81594302","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/81594302?v=4","repositories_count":1,"last_synced_at":"2024-03-25T18:55:07.828Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bcrypt-ruby","funding_links":[],"total_stars":1901,"followers":1,"following":0,"created_at":"2022-11-02T17:04:06.448Z","updated_at":"2024-03-25T18:55:08.425Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby/repositories"},"packages":[{"id":13406408,"name":"ruby-bcrypt","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T14:56:57.090Z","latest_release_published_at":"2026-02-06T14:56:57.090Z","latest_release_number":"3.1.18-1build2","last_synced_at":"2026-03-06T15:57:36.648Z","created_at":"2026-02-06T14:56:56.852Z","updated_at":"2026-03-06T16:04:53.317Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-bcrypt","install_command":"apt-get install ruby-bcrypt","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"ruby-bcrypt","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-bcrypt?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-bcrypt/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","funded_packages_count":161},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-01T06:53:16.927Z","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"}},{"id":13668636,"name":"ruby-bcrypt","ecosystem":"debian","description":null,"homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:17:15.520Z","latest_release_published_at":"2026-02-12T12:17:15.520Z","latest_release_number":"3.1.20-1","last_synced_at":"2026-03-13T14:08:51.246Z","created_at":"2026-02-12T12:17:15.313Z","updated_at":"2026-03-13T14:08:51.246Z","registry_url":"https://tracker.debian.org/pkg/ruby-bcrypt","install_command":"apt-get install ruby-bcrypt","documentation_url":"https://packages.debian.org/trixie/ruby-bcrypt","metadata":{"component":"main","architecture":"any","priority":"source","binary":"ruby-bcrypt","standards_version":"4.7.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), default-jdk-headless, gem2deb (\u003e= 1), java-common (\u003e= 0.75), rake, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:17:16.945Z","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-bcrypt?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-bcrypt/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","funded_packages_count":282},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-03-31T06:41:13.743Z","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":8612797,"name":"github.com/bcrypt-ruby/bcrypt-ruby","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":[],"namespace":null,"versions_count":21,"first_release_published_at":"2023-12-02T02:08:23.456Z","latest_release_published_at":"2026-03-18T22:47:37.000Z","latest_release_number":"v3.1.22+incompatible","last_synced_at":"2026-04-09T08:45:05.097Z","created_at":"2023-12-02T02:07:57.243Z","updated_at":"2026-04-09T08:45:05.097Z","registry_url":"https://pkg.go.dev/github.com/bcrypt-ruby/bcrypt-ruby","install_command":"go get github.com/bcrypt-ruby/bcrypt-ruby","documentation_url":"https://pkg.go.dev/github.com/bcrypt-ruby/bcrypt-ruby#section-documentation","metadata":{},"repo_metadata":{"id":397217,"uuid":"15293","full_name":"bcrypt-ruby/bcrypt-ruby","owner":"bcrypt-ruby","description":"bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.","archived":false,"fork":false,"pushed_at":"2024-10-29T23:10:47.000Z","size":385,"stargazers_count":1959,"open_issues_count":19,"forks_count":283,"subscribers_count":49,"default_branch":"master","last_synced_at":"2025-10-06T21:32:01.614Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcrypt-ruby.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2008-05-07T23:29:27.000Z","updated_at":"2025-10-02T12:27:42.000Z","dependencies_parsed_at":"2024-02-26T00:42:41.526Z","dependency_job_id":"9b19be6e-c832-4bbe-9ba1-9d4b0fa390b3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","commit_stats":{"total_commits":276,"total_committers":61,"mean_commits":4.524590163934426,"dds":0.8514492753623188,"last_synced_commit":"2d235482b5c994bab09caa3fb4ece3e333c537ed"},"previous_names":["codahale/bcrypt-ruby"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278698811,"owners_count":26030399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"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":"bcrypt-ruby","name":"bcrypt-ruby","uuid":"81594302","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/81594302?v=4","repositories_count":1,"last_synced_at":"2024-03-25T18:55:07.828Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bcrypt-ruby","funding_links":[],"total_stars":1901,"followers":1,"following":0,"created_at":"2022-11-02T17:04:06.448Z","updated_at":"2024-03-25T18:55:08.425Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby/repositories"},"tags":[{"name":"v3.1.20","sha":"58f8afd33d8813e84706b938815bb1aa08d0b470","kind":"commit","published_at":"2023-11-17T16:58:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.20","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.20","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.20","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20/manifests"},{"name":"v3.1.19","sha":"863cfbd80451af0521217bfbb92c80d7a9b824a0","kind":"tag","published_at":"2023-06-22T18:40:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.19","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.19","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.19","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19/manifests"},{"name":"v3.1.18","sha":"667a136f1c4dd82ad40728300f3d579c0f26e98b","kind":"tag","published_at":"2022-06-08T22:04:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.18","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18/manifests"},{"name":"v3.1.17","sha":"5bf36393d330947e055af635687b32719a8df668","kind":"commit","published_at":"2022-03-14T19:14:24.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.17","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17/manifests"},{"name":"v3.1.16","sha":"abff57ddc6ab6cbdadb486202c2942bfc3025ea6","kind":"tag","published_at":"2020-09-03T20:49:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.16","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.16","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16/manifests"},{"name":"v3.1.15","sha":"ef6efb20a1f0e7247cf97726db979cff514255ee","kind":"tag","published_at":"2020-07-21T21:21:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.15","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15/manifests"},{"name":"v3.1.14","sha":"2c17728c1d89cb0fe964d04aa50a0cb9395084f1","kind":"commit","published_at":"2020-07-21T16:51:18.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.14","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14/manifests"},{"name":"v3.1.13","sha":"011b67ba550457dab5d6084128888f08476f278a","kind":"tag","published_at":"2019-05-31T19:05:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.13","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13/manifests"},{"name":"v3.1.12","sha":"12a50f4ff20c1723cc08b3f3c5dcd257c305172c","kind":"commit","published_at":"2018-05-16T20:05:27.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12/manifests"},{"name":"v3.1.12.rc1","sha":"c92c5a88023bbc1a8131c87a9d999c4b761a9df3","kind":"commit","published_at":"2018-05-15T19:28:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12.rc1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1/manifests"},{"name":"v3.1.11","sha":"fbbece54c6cb8b53db01132c7eeb58955944547d","kind":"commit","published_at":"2016-03-06T05:27:35.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.11","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11/manifests"},{"name":"v3.1.10","sha":"1f9184a8df2b90fa02d01a32a364eefc9072e1b9","kind":"commit","published_at":"2015-01-29T04:55:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.10","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10/manifests"},{"name":"v3.1.9","sha":"b82c7140eb4ecedc20ab3a7c0d0801667d1907b3","kind":"commit","published_at":"2014-10-23T21:49:13.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.9","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9/manifests"},{"name":"v3.1.8","sha":"519c661fa72803231d967c80e83b2efa18c4c937","kind":"commit","published_at":"2014-10-23T15:50:38.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.8","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8/manifests"},{"name":"v3.1.7","sha":"f167f92c702ea6b01a9995e3089f49b95c34eecb","kind":"commit","published_at":"2014-02-25T04:25:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.7","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7/manifests"},{"name":"v3.1.6","sha":"58f056b01d6e617a539e1308cb2b9e221525cfdf","kind":"commit","published_at":"2014-02-21T22:43:50.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.6","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6/manifests"},{"name":"v3.1.3","sha":"a5b7bfbf21bc41838902b4a798f90ec25c09630e","kind":"commit","published_at":"2014-02-21T19:43:08.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3/manifests"},{"name":"v3.1.1","sha":"7a7fcf396f927ed61a60647a9a55aafa7c8e6b6a","kind":"commit","published_at":"2013-07-10T12:42:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1/manifests"},{"name":"v3.0.1","sha":"cbe335aadd1e8c3ec57ebf0943ddccaf77af0f37","kind":"tag","published_at":"2011-09-12T20:35:07.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"a27363a997f473a4d579d91a0303c433fcc1955a","kind":"tag","published_at":"2011-08-24T20:22:54.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0/manifests"},{"name":"rel_2_1_2","sha":"c85bc646b8251f3b4f7365d63752a813c2733409","kind":"commit","published_at":"2009-09-16T20:59:21.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_2","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2/manifests"},{"name":"rel_2_1_1","sha":"525b5999142d3d8c731fd7524eb07780dcd03720","kind":"commit","published_at":"2009-08-14T15:06:25.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1/manifests"},{"name":"rel_2_1_0","sha":"17b18eab80d82ec39c36bfadc461b2e092342002","kind":"commit","published_at":"2009-08-13T23:02:58.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0/manifests"},{"name":"rel_2_0_5","sha":"3137ad6d58e3541613b4e1e1cdd7cd70c5d9f2b6","kind":"commit","published_at":"2009-03-11T19:41:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_5","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5/manifests"},{"name":"rel_2_0_4","sha":"18178defdd85fcde985e0f010666d8aa54819a48","kind":"commit","published_at":"2009-03-10T03:49:19.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_4","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4/manifests"},{"name":"rel_2_0_3","sha":"e66116dc37379b6bc8f21bd749a81b00a19ff6ee","kind":"tag","published_at":"2008-05-08T00:37:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3/manifests"}]},"repo_metadata_updated_at":"2025-10-13T23:12:38.259Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":1.5388593040058844,"forks_count":1.6737449918928289,"docker_downloads_count":null,"average":5.89748178754064},"purl":"pkg:golang/github.com/bcrypt-ruby/bcrypt-ruby","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/bcrypt-ruby/bcrypt-ruby","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/bcrypt-ruby/bcrypt-ruby","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/bcrypt-ruby/bcrypt-ruby/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T18:08:22.567Z","issues_count":54,"pull_requests_count":63,"avg_time_to_close_issue":39283059.80487805,"avg_time_to_close_pull_request":33342318.95,"issues_closed_count":41,"pull_requests_closed_count":60,"pull_request_authors_count":44,"issue_authors_count":49,"avg_comments_per_issue":4.703703703703703,"avg_comments_per_pull_request":2.761904761904762,"merged_pull_requests_count":42,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1785409.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/issues","maintainers":[{"login":"tenderlove","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"},{"login":"tjschuck","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tjschuck"}],"active_maintainers":[{"login":"tenderlove","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbcrypt-ruby%2Fbcrypt-ruby/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbcrypt-ruby%2Fbcrypt-ruby/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbcrypt-ruby%2Fbcrypt-ruby/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbcrypt-ruby%2Fbcrypt-ruby/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fbcrypt-ruby%2Fbcrypt-ruby/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2094652,"maintainers_count":0,"namespaces_count":780333,"keywords_count":112764,"github":"golang","metadata":{"funded_packages_count":53458},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-09T05:03:48.640Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13804003,"name":"ruby-bcrypt","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:15:22.883Z","latest_release_published_at":"2026-02-13T18:15:22.883Z","latest_release_number":"3.1.18-1","last_synced_at":"2026-03-14T02:19:51.581Z","created_at":"2026-02-13T18:15:22.680Z","updated_at":"2026-03-14T02:19:51.581Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-bcrypt","install_command":"apt-get install ruby-bcrypt","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"ruby-bcrypt","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:27.142Z","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-bcrypt?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-bcrypt/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","funded_packages_count":412},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-01T06:53:18.736Z","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":13566141,"name":"ruby-bcrypt","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:35:55.771Z","latest_release_published_at":"2026-02-11T06:35:55.771Z","latest_release_number":"3.1.18-1","last_synced_at":"2026-03-12T01:18:49.598Z","created_at":"2026-02-11T06:35:55.578Z","updated_at":"2026-03-12T01:18:49.598Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-bcrypt","install_command":"apt-get install ruby-bcrypt","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"ruby-bcrypt","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-11T14:56:11.897Z","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-bcrypt?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-bcrypt/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":99},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-01T06:53:19.375Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":163191,"name":"bcrypt","ecosystem":"rubygems","description":"    bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project\n    for hashing passwords. The bcrypt Ruby gem provides a simple wrapper for safely handling\n    passwords.\n","homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":[],"namespace":null,"versions_count":56,"first_release_published_at":"2014-02-21T20:23:25.921Z","latest_release_published_at":"2026-03-18T22:48:51.430Z","latest_release_number":"3.1.22","last_synced_at":"2026-04-10T11:02:04.558Z","created_at":"2022-04-05T17:56:23.964Z","updated_at":"2026-04-10T11:02:04.558Z","registry_url":"https://rubygems.org/gems/bcrypt","install_command":"gem install bcrypt -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/bcrypt/","metadata":{"funding":null},"repo_metadata":{"id":397217,"uuid":"15293","full_name":"bcrypt-ruby/bcrypt-ruby","owner":"bcrypt-ruby","description":"bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.","archived":false,"fork":false,"pushed_at":"2024-10-29T23:10:47.000Z","size":385,"stargazers_count":1951,"open_issues_count":19,"forks_count":282,"subscribers_count":49,"default_branch":"master","last_synced_at":"2025-08-17T21:49:36.648Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcrypt-ruby.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2008-05-07T23:29:27.000Z","updated_at":"2025-08-03T17:07:35.000Z","dependencies_parsed_at":"2024-02-26T00:42:41.526Z","dependency_job_id":"9b19be6e-c832-4bbe-9ba1-9d4b0fa390b3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","commit_stats":{"total_commits":276,"total_committers":61,"mean_commits":4.524590163934426,"dds":0.8514492753623188,"last_synced_commit":"2d235482b5c994bab09caa3fb4ece3e333c537ed"},"previous_names":["codahale/bcrypt-ruby"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270923614,"owners_count":24668582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"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":"bcrypt-ruby","name":"bcrypt-ruby","uuid":"81594302","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/81594302?v=4","repositories_count":1,"last_synced_at":"2024-03-25T18:55:07.828Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bcrypt-ruby","funding_links":[],"total_stars":1901,"followers":1,"following":0,"created_at":"2022-11-02T17:04:06.448Z","updated_at":"2024-03-25T18:55:08.425Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby/repositories"},"tags":[{"name":"v3.1.20","sha":"58f8afd33d8813e84706b938815bb1aa08d0b470","kind":"commit","published_at":"2023-11-17T16:58:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.20","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.20","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.20","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20/manifests"},{"name":"v3.1.19","sha":"863cfbd80451af0521217bfbb92c80d7a9b824a0","kind":"tag","published_at":"2023-06-22T18:40:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.19","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.19","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.19","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19/manifests"},{"name":"v3.1.18","sha":"667a136f1c4dd82ad40728300f3d579c0f26e98b","kind":"tag","published_at":"2022-06-08T22:04:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.18","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18/manifests"},{"name":"v3.1.17","sha":"5bf36393d330947e055af635687b32719a8df668","kind":"commit","published_at":"2022-03-14T19:14:24.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.17","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17/manifests"},{"name":"v3.1.16","sha":"abff57ddc6ab6cbdadb486202c2942bfc3025ea6","kind":"tag","published_at":"2020-09-03T20:49:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.16","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.16","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16/manifests"},{"name":"v3.1.15","sha":"ef6efb20a1f0e7247cf97726db979cff514255ee","kind":"tag","published_at":"2020-07-21T21:21:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.15","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15/manifests"},{"name":"v3.1.14","sha":"2c17728c1d89cb0fe964d04aa50a0cb9395084f1","kind":"commit","published_at":"2020-07-21T16:51:18.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.14","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14/manifests"},{"name":"v3.1.13","sha":"011b67ba550457dab5d6084128888f08476f278a","kind":"tag","published_at":"2019-05-31T19:05:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.13","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13/manifests"},{"name":"v3.1.12","sha":"12a50f4ff20c1723cc08b3f3c5dcd257c305172c","kind":"commit","published_at":"2018-05-16T20:05:27.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12/manifests"},{"name":"v3.1.12.rc1","sha":"c92c5a88023bbc1a8131c87a9d999c4b761a9df3","kind":"commit","published_at":"2018-05-15T19:28:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12.rc1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1/manifests"},{"name":"v3.1.11","sha":"fbbece54c6cb8b53db01132c7eeb58955944547d","kind":"commit","published_at":"2016-03-06T05:27:35.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.11","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11/manifests"},{"name":"v3.1.10","sha":"1f9184a8df2b90fa02d01a32a364eefc9072e1b9","kind":"commit","published_at":"2015-01-29T04:55:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.10","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10/manifests"},{"name":"v3.1.9","sha":"b82c7140eb4ecedc20ab3a7c0d0801667d1907b3","kind":"commit","published_at":"2014-10-23T21:49:13.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.9","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9/manifests"},{"name":"v3.1.8","sha":"519c661fa72803231d967c80e83b2efa18c4c937","kind":"commit","published_at":"2014-10-23T15:50:38.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.8","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8/manifests"},{"name":"v3.1.7","sha":"f167f92c702ea6b01a9995e3089f49b95c34eecb","kind":"commit","published_at":"2014-02-25T04:25:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.7","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7/manifests"},{"name":"v3.1.6","sha":"58f056b01d6e617a539e1308cb2b9e221525cfdf","kind":"commit","published_at":"2014-02-21T22:43:50.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.6","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6/manifests"},{"name":"v3.1.3","sha":"a5b7bfbf21bc41838902b4a798f90ec25c09630e","kind":"commit","published_at":"2014-02-21T19:43:08.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3/manifests"},{"name":"v3.1.1","sha":"7a7fcf396f927ed61a60647a9a55aafa7c8e6b6a","kind":"commit","published_at":"2013-07-10T12:42:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1/manifests"},{"name":"v3.0.1","sha":"cbe335aadd1e8c3ec57ebf0943ddccaf77af0f37","kind":"tag","published_at":"2011-09-12T20:35:07.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"a27363a997f473a4d579d91a0303c433fcc1955a","kind":"tag","published_at":"2011-08-24T20:22:54.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0/manifests"},{"name":"rel_2_1_2","sha":"c85bc646b8251f3b4f7365d63752a813c2733409","kind":"commit","published_at":"2009-09-16T20:59:21.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_2","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2/manifests"},{"name":"rel_2_1_1","sha":"525b5999142d3d8c731fd7524eb07780dcd03720","kind":"commit","published_at":"2009-08-14T15:06:25.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1/manifests"},{"name":"rel_2_1_0","sha":"17b18eab80d82ec39c36bfadc461b2e092342002","kind":"commit","published_at":"2009-08-13T23:02:58.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0/manifests"},{"name":"rel_2_0_5","sha":"3137ad6d58e3541613b4e1e1cdd7cd70c5d9f2b6","kind":"commit","published_at":"2009-03-11T19:41:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_5","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5/manifests"},{"name":"rel_2_0_4","sha":"18178defdd85fcde985e0f010666d8aa54819a48","kind":"commit","published_at":"2009-03-10T03:49:19.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_4","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4/manifests"},{"name":"rel_2_0_3","sha":"e66116dc37379b6bc8f21bd749a81b00a19ff6ee","kind":"tag","published_at":"2008-05-08T00:37:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3/manifests"}]},"repo_metadata_updated_at":"2025-08-21T12:17:16.752Z","dependent_packages_count":351,"downloads":379747276,"downloads_period":"total","dependent_repos_count":288069,"rankings":{"downloads":0.06523120839419722,"dependent_repos_count":0.08530234943856559,"dependent_packages_count":0.12600216322297922,"stargazers_count":1.1836397899220572,"forks_count":1.5588586211126103,"docker_downloads_count":0.22301267827075968,"average":0.5403411350601949},"purl":"pkg:gem/bcrypt","advisories":[{"uuid":"GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f","url":"https://github.com/advisories/GHSA-f27w-vcwj-c954","title":"bcrypt-ruby has an Integer Overflow that Causes Zero Key-Strengthening Iterations at Cost=31 on JRuby","description":"### Impact\n\nAn integer overflow in the Java BCrypt implementation for JRuby can cause zero iterations in the strengthening loop.  Impacted applications must be setting the cost to 31 to see this happen.\n\nThe JRuby implementation of bcrypt-ruby (`BCrypt.java`) computes the key-strengthening round count as a signed 32-bit integer. When `cost=31` (the maximum allowed by the gem), signed integer overflow causes the round count to become negative, and the strengthening loop executes **zero iterations**. This collapses bcrypt from 2^31 rounds of exponential key-strengthening to effectively constant-time computation — only the initial EksBlowfish key setup and final 64x encryption phase remain.\n\nThe resulting hash looks valid (`$2a$31$...`) and verifies correctly via `checkpw`, making the weakness invisible to the application. This issue is triggered only when cost=31 is used or when verifying a `$2a$31$` hash.\n\n### Patches\n\nThis problem has been fixed in version 3.1.22\n\n### Workarounds\n\nSet the cost to something less than 31.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-03-19T17:54:17.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":4.5,"cvss_vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:U","references":["https://github.com/bcrypt-ruby/bcrypt-ruby/security/advisories/GHSA-f27w-vcwj-c954","https://nvd.nist.gov/vuln/detail/CVE-2026-33306","https://github.com/bcrypt-ruby/bcrypt-ruby/commit/831ce64cb0a9502130fa93a28bfd9527a5fa45c4","https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.22","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/bcrypt/CVE-2026-33306.yml","https://github.com/advisories/GHSA-f27w-vcwj-c954"],"source_kind":"github","identifiers":["GHSA-f27w-vcwj-c954","CVE-2026-33306"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-03-19T18:00:09.434Z","updated_at":"2026-04-05T18:00:28.668Z","epss_percentage":0.0002,"epss_percentile":0.05116,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f","packages":[{"ecosystem":"rubygems","package_name":"bcrypt","versions":[{"first_patched_version":"3.1.22","vulnerable_version_range":"\u003c= 3.1.21"}],"purl":"pkg:gem/bcrypt"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/bcrypt","docker_dependents_count":833,"docker_downloads_count":547815952,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/bcrypt/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2025-08-21T00:04:47.363Z","issues_count":55,"pull_requests_count":62,"avg_time_to_close_issue":38351674.428571425,"avg_time_to_close_pull_request":33342318.95,"issues_closed_count":42,"pull_requests_closed_count":60,"pull_request_authors_count":44,"issue_authors_count":50,"avg_comments_per_issue":4.636363636363637,"avg_comments_per_pull_request":2.806451612903226,"merged_pull_requests_count":42,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1785409.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/issues","maintainers":[{"login":"tenderlove","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"},{"login":"tjschuck","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tjschuck"}],"active_maintainers":[{"login":"tenderlove","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/bcrypt/codemeta","maintainers":[{"uuid":"207","login":"tenderlove","name":null,"email":null,"url":null,"packages_count":189,"html_url":"https://rubygems.org/profiles/tenderlove","role":null,"created_at":"2022-11-07T13:27:04.220Z","updated_at":"2022-11-07T13:27:04.220Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tenderlove/packages"},{"uuid":"690","login":null,"name":null,"email":null,"url":null,"packages_count":24,"html_url":"https://rubygems.org/profiles/","role":null,"created_at":"2022-11-07T13:27:04.205Z","updated_at":"2022-11-07T13:27:04.205Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/690/packages"},{"uuid":"30101","login":"codahale","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://rubygems.org/profiles/codahale","role":null,"created_at":"2022-11-07T13:27:04.167Z","updated_at":"2022-11-07T13:27:04.167Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/codahale/packages"},{"uuid":"57006","login":"tjschuck","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://rubygems.org/profiles/tjschuck","role":null,"created_at":"2022-11-07T13:27:04.194Z","updated_at":"2022-11-07T13:27:04.194Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tjschuck/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":204949,"maintainers_count":68308,"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":13950505,"name":"ruby-bcrypt","ecosystem":"guix","description":"Ruby bcrypt wrapper","homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:57:43.802Z","latest_release_published_at":"2026-03-02T18:57:43.802Z","latest_release_number":"3.1.20","last_synced_at":"2026-04-03T00:18:28.133Z","created_at":"2026-03-02T18:57:43.622Z","updated_at":"2026-04-03T00:24:27.355Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-bcrypt/3.1.20/","install_command":"guix install ruby-bcrypt","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n11300","metadata":{"location":"gnu/packages/ruby-xyz.scm:11300","variable_name":"ruby-bcrypt"},"repo_metadata":{"id":397217,"uuid":"15293","full_name":"bcrypt-ruby/bcrypt-ruby","owner":"bcrypt-ruby","description":"bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.","archived":false,"fork":false,"pushed_at":"2026-03-27T19:38:11.000Z","size":412,"stargazers_count":1971,"open_issues_count":18,"forks_count":287,"subscribers_count":45,"default_branch":"master","last_synced_at":"2026-04-02T15:26:10.277Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcrypt-ruby.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2008-05-07T23:29:27.000Z","updated_at":"2026-04-01T06:24:14.000Z","dependencies_parsed_at":"2026-03-28T07:05:46.020Z","dependency_job_id":null,"html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","commit_stats":{"total_commits":276,"total_committers":61,"mean_commits":4.524590163934426,"dds":0.8514492753623188,"last_synced_commit":"2d235482b5c994bab09caa3fb4ece3e333c537ed"},"previous_names":["codahale/bcrypt-ruby"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31314886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"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":"bcrypt-ruby","name":"bcrypt-ruby","uuid":"81594302","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/81594302?v=4","repositories_count":1,"last_synced_at":"2024-03-25T18:55:07.828Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bcrypt-ruby","funding_links":[],"total_stars":1901,"followers":1,"following":0,"created_at":"2022-11-02T17:04:06.448Z","updated_at":"2024-03-25T18:55:08.425Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby/repositories"},"tags":[{"name":"v3.1.22","sha":"831ce64cb0a9502130fa93a28bfd9527a5fa45c4","kind":"tag","published_at":"2026-03-18T22:48:05.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.22","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.22","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.22","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.22/manifests"},{"name":"v3.1.21","sha":"82e6c4c6cf81912768c68d721372e78330ff2c92","kind":"tag","published_at":"2025-12-31T19:44:56.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.21","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.21","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.21","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.21/manifests"},{"name":"v3.1.20","sha":"58f8afd33d8813e84706b938815bb1aa08d0b470","kind":"commit","published_at":"2023-11-17T16:58:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.20","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.20","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.20","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20/manifests"},{"name":"v3.1.19","sha":"863cfbd80451af0521217bfbb92c80d7a9b824a0","kind":"tag","published_at":"2023-06-22T18:40:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.19","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.19","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.19","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19/manifests"},{"name":"v3.1.18","sha":"667a136f1c4dd82ad40728300f3d579c0f26e98b","kind":"tag","published_at":"2022-06-08T22:04:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.18","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18/manifests"},{"name":"v3.1.17","sha":"5bf36393d330947e055af635687b32719a8df668","kind":"commit","published_at":"2022-03-14T19:14:24.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.17","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17/manifests"},{"name":"v3.1.16","sha":"abff57ddc6ab6cbdadb486202c2942bfc3025ea6","kind":"tag","published_at":"2020-09-03T20:49:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.16","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.16","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16/manifests"},{"name":"v3.1.15","sha":"ef6efb20a1f0e7247cf97726db979cff514255ee","kind":"tag","published_at":"2020-07-21T21:21:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.15","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15/manifests"},{"name":"v3.1.14","sha":"2c17728c1d89cb0fe964d04aa50a0cb9395084f1","kind":"commit","published_at":"2020-07-21T16:51:18.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.14","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14/manifests"},{"name":"v3.1.13","sha":"011b67ba550457dab5d6084128888f08476f278a","kind":"tag","published_at":"2019-05-31T19:05:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.13","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13/manifests"},{"name":"v3.1.12","sha":"12a50f4ff20c1723cc08b3f3c5dcd257c305172c","kind":"commit","published_at":"2018-05-16T20:05:27.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12/manifests"},{"name":"v3.1.12.rc1","sha":"c92c5a88023bbc1a8131c87a9d999c4b761a9df3","kind":"commit","published_at":"2018-05-15T19:28:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12.rc1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1/manifests"},{"name":"v3.1.11","sha":"fbbece54c6cb8b53db01132c7eeb58955944547d","kind":"commit","published_at":"2016-03-06T05:27:35.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.11","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11/manifests"},{"name":"v3.1.10","sha":"1f9184a8df2b90fa02d01a32a364eefc9072e1b9","kind":"commit","published_at":"2015-01-29T04:55:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.10","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10/manifests"},{"name":"v3.1.9","sha":"b82c7140eb4ecedc20ab3a7c0d0801667d1907b3","kind":"commit","published_at":"2014-10-23T21:49:13.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.9","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9/manifests"},{"name":"v3.1.8","sha":"519c661fa72803231d967c80e83b2efa18c4c937","kind":"commit","published_at":"2014-10-23T15:50:38.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.8","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8/manifests"},{"name":"v3.1.7","sha":"f167f92c702ea6b01a9995e3089f49b95c34eecb","kind":"commit","published_at":"2014-02-25T04:25:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.7","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7/manifests"},{"name":"v3.1.6","sha":"58f056b01d6e617a539e1308cb2b9e221525cfdf","kind":"commit","published_at":"2014-02-21T22:43:50.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.6","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6/manifests"},{"name":"v3.1.3","sha":"a5b7bfbf21bc41838902b4a798f90ec25c09630e","kind":"commit","published_at":"2014-02-21T19:43:08.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3/manifests"},{"name":"v3.1.1","sha":"7a7fcf396f927ed61a60647a9a55aafa7c8e6b6a","kind":"commit","published_at":"2013-07-10T12:42:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1/manifests"},{"name":"v3.0.1","sha":"cbe335aadd1e8c3ec57ebf0943ddccaf77af0f37","kind":"tag","published_at":"2011-09-12T20:35:07.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"a27363a997f473a4d579d91a0303c433fcc1955a","kind":"tag","published_at":"2011-08-24T20:22:54.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0/manifests"},{"name":"rel_2_1_2","sha":"c85bc646b8251f3b4f7365d63752a813c2733409","kind":"commit","published_at":"2009-09-16T20:59:21.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_2","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2/manifests"},{"name":"rel_2_1_1","sha":"525b5999142d3d8c731fd7524eb07780dcd03720","kind":"commit","published_at":"2009-08-14T15:06:25.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1/manifests"},{"name":"rel_2_1_0","sha":"17b18eab80d82ec39c36bfadc461b2e092342002","kind":"commit","published_at":"2009-08-13T23:02:58.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0/manifests"},{"name":"rel_2_0_5","sha":"3137ad6d58e3541613b4e1e1cdd7cd70c5d9f2b6","kind":"commit","published_at":"2009-03-11T19:41:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_5","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5/manifests"},{"name":"rel_2_0_4","sha":"18178defdd85fcde985e0f010666d8aa54819a48","kind":"commit","published_at":"2009-03-10T03:49:19.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_4","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4/manifests"},{"name":"rel_2_0_3","sha":"e66116dc37379b6bc8f21bd749a81b00a19ff6ee","kind":"tag","published_at":"2008-05-08T00:37:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3/manifests"}]},"repo_metadata_updated_at":"2026-04-03T00:24:27.355Z","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:guix/ruby-bcrypt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-bcrypt/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":30898,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"guix-mirror","metadata":{"funded_packages_count":286},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-04-03T06:23:21.396Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/guix/namespaces"}},{"id":12189484,"name":"bcrypt","ecosystem":"rubygems","description":"    bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project\n    for hashing passwords. The bcrypt Ruby gem provides a simple wrapper for safely handling\n    passwords.\n","homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":[],"namespace":null,"versions_count":56,"first_release_published_at":"2014-02-21T20:23:25.921Z","latest_release_published_at":"2026-03-18T22:48:51.430Z","latest_release_number":"3.1.22","last_synced_at":"2026-04-11T02:30:16.120Z","created_at":"2025-10-07T01:40:54.724Z","updated_at":"2026-04-11T02:31:45.986Z","registry_url":"https://gem.coop/gems/bcrypt","install_command":"gem install bcrypt -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/bcrypt/","metadata":{"funding":null},"repo_metadata":{"id":397217,"uuid":"15293","full_name":"bcrypt-ruby/bcrypt-ruby","owner":"bcrypt-ruby","description":"bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.","archived":false,"fork":false,"pushed_at":"2026-03-27T19:38:11.000Z","size":412,"stargazers_count":1970,"open_issues_count":18,"forks_count":287,"subscribers_count":45,"default_branch":"master","last_synced_at":"2026-04-06T15:06:55.899Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcrypt-ruby.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2008-05-07T23:29:27.000Z","updated_at":"2026-04-03T12:01:22.000Z","dependencies_parsed_at":"2026-03-28T07:05:46.020Z","dependency_job_id":null,"html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","commit_stats":{"total_commits":276,"total_committers":61,"mean_commits":4.524590163934426,"dds":0.8514492753623188,"last_synced_commit":"2d235482b5c994bab09caa3fb4ece3e333c537ed"},"previous_names":["codahale/bcrypt-ruby"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31494179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: 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":"bcrypt-ruby","name":"bcrypt-ruby","uuid":"81594302","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/81594302?v=4","repositories_count":1,"last_synced_at":"2024-03-25T18:55:07.828Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bcrypt-ruby","funding_links":[],"total_stars":1901,"followers":1,"following":0,"created_at":"2022-11-02T17:04:06.448Z","updated_at":"2024-03-25T18:55:08.425Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcrypt-ruby/repositories"},"tags":[{"name":"v3.1.22","sha":"831ce64cb0a9502130fa93a28bfd9527a5fa45c4","kind":"tag","published_at":"2026-03-18T22:48:05.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.22","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.22","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.22","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.22/manifests"},{"name":"v3.1.21","sha":"82e6c4c6cf81912768c68d721372e78330ff2c92","kind":"tag","published_at":"2025-12-31T19:44:56.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.21","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.21","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.21","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.21/manifests"},{"name":"v3.1.20","sha":"58f8afd33d8813e84706b938815bb1aa08d0b470","kind":"commit","published_at":"2023-11-17T16:58:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.20","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.20","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.20","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.20/manifests"},{"name":"v3.1.19","sha":"863cfbd80451af0521217bfbb92c80d7a9b824a0","kind":"tag","published_at":"2023-06-22T18:40:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.19","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.19","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.19","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.19/manifests"},{"name":"v3.1.18","sha":"667a136f1c4dd82ad40728300f3d579c0f26e98b","kind":"tag","published_at":"2022-06-08T22:04:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.18","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.18","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.18/manifests"},{"name":"v3.1.17","sha":"5bf36393d330947e055af635687b32719a8df668","kind":"commit","published_at":"2022-03-14T19:14:24.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.17","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.17/manifests"},{"name":"v3.1.16","sha":"abff57ddc6ab6cbdadb486202c2942bfc3025ea6","kind":"tag","published_at":"2020-09-03T20:49:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.16","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.16","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.16/manifests"},{"name":"v3.1.15","sha":"ef6efb20a1f0e7247cf97726db979cff514255ee","kind":"tag","published_at":"2020-07-21T21:21:26.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.15","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.15/manifests"},{"name":"v3.1.14","sha":"2c17728c1d89cb0fe964d04aa50a0cb9395084f1","kind":"commit","published_at":"2020-07-21T16:51:18.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.14","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.14/manifests"},{"name":"v3.1.13","sha":"011b67ba550457dab5d6084128888f08476f278a","kind":"tag","published_at":"2019-05-31T19:05:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.13","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.13/manifests"},{"name":"v3.1.12","sha":"12a50f4ff20c1723cc08b3f3c5dcd257c305172c","kind":"commit","published_at":"2018-05-16T20:05:27.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12/manifests"},{"name":"v3.1.12.rc1","sha":"c92c5a88023bbc1a8131c87a9d999c4b761a9df3","kind":"commit","published_at":"2018-05-15T19:28:28.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.12.rc1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.12.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.12.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.12.rc1/manifests"},{"name":"v3.1.11","sha":"fbbece54c6cb8b53db01132c7eeb58955944547d","kind":"commit","published_at":"2016-03-06T05:27:35.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.11","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.11/manifests"},{"name":"v3.1.10","sha":"1f9184a8df2b90fa02d01a32a364eefc9072e1b9","kind":"commit","published_at":"2015-01-29T04:55:48.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.10","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.10/manifests"},{"name":"v3.1.9","sha":"b82c7140eb4ecedc20ab3a7c0d0801667d1907b3","kind":"commit","published_at":"2014-10-23T21:49:13.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.9","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.9/manifests"},{"name":"v3.1.8","sha":"519c661fa72803231d967c80e83b2efa18c4c937","kind":"commit","published_at":"2014-10-23T15:50:38.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.8","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.8/manifests"},{"name":"v3.1.7","sha":"f167f92c702ea6b01a9995e3089f49b95c34eecb","kind":"commit","published_at":"2014-02-25T04:25:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.7","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.7/manifests"},{"name":"v3.1.6","sha":"58f056b01d6e617a539e1308cb2b9e221525cfdf","kind":"commit","published_at":"2014-02-21T22:43:50.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.6","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.6/manifests"},{"name":"v3.1.3","sha":"a5b7bfbf21bc41838902b4a798f90ec25c09630e","kind":"commit","published_at":"2014-02-21T19:43:08.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.3/manifests"},{"name":"v3.1.1","sha":"7a7fcf396f927ed61a60647a9a55aafa7c8e6b6a","kind":"commit","published_at":"2013-07-10T12:42:10.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.1.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.1.1/manifests"},{"name":"v3.0.1","sha":"cbe335aadd1e8c3ec57ebf0943ddccaf77af0f37","kind":"tag","published_at":"2011-09-12T20:35:07.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"a27363a997f473a4d579d91a0303c433fcc1955a","kind":"tag","published_at":"2011-08-24T20:22:54.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/v3.0.0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/v3.0.0/manifests"},{"name":"rel_2_1_2","sha":"c85bc646b8251f3b4f7365d63752a813c2733409","kind":"commit","published_at":"2009-09-16T20:59:21.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_2","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_2/manifests"},{"name":"rel_2_1_1","sha":"525b5999142d3d8c731fd7524eb07780dcd03720","kind":"commit","published_at":"2009-08-14T15:06:25.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_1","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_1/manifests"},{"name":"rel_2_1_0","sha":"17b18eab80d82ec39c36bfadc461b2e092342002","kind":"commit","published_at":"2009-08-13T23:02:58.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_1_0","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_1_0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_1_0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_1_0/manifests"},{"name":"rel_2_0_5","sha":"3137ad6d58e3541613b4e1e1cdd7cd70c5d9f2b6","kind":"commit","published_at":"2009-03-11T19:41:59.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_5","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_5/manifests"},{"name":"rel_2_0_4","sha":"18178defdd85fcde985e0f010666d8aa54819a48","kind":"commit","published_at":"2009-03-10T03:49:19.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_4","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_4/manifests"},{"name":"rel_2_0_3","sha":"e66116dc37379b6bc8f21bd749a81b00a19ff6ee","kind":"tag","published_at":"2008-05-08T00:37:11.000Z","download_url":"https://codeload.github.com/bcrypt-ruby/bcrypt-ruby/tar.gz/rel_2_0_3","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby/releases/tag/rel_2_0_3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bcrypt-ruby/bcrypt-ruby@rel_2_0_3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/tags/rel_2_0_3/manifests"}]},"repo_metadata_updated_at":"2026-04-11T02:31:45.986Z","dependent_packages_count":0,"downloads":379926652,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.06326102472046197,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.12111512425114086,"average":0.046094037242900704},"purl":"pkg:gem/bcrypt?repository_url=https://gem.coop","advisories":[{"uuid":"GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f","url":"https://github.com/advisories/GHSA-f27w-vcwj-c954","title":"bcrypt-ruby has an Integer Overflow that Causes Zero Key-Strengthening Iterations at Cost=31 on JRuby","description":"### Impact\n\nAn integer overflow in the Java BCrypt implementation for JRuby can cause zero iterations in the strengthening loop.  Impacted applications must be setting the cost to 31 to see this happen.\n\nThe JRuby implementation of bcrypt-ruby (`BCrypt.java`) computes the key-strengthening round count as a signed 32-bit integer. When `cost=31` (the maximum allowed by the gem), signed integer overflow causes the round count to become negative, and the strengthening loop executes **zero iterations**. This collapses bcrypt from 2^31 rounds of exponential key-strengthening to effectively constant-time computation — only the initial EksBlowfish key setup and final 64x encryption phase remain.\n\nThe resulting hash looks valid (`$2a$31$...`) and verifies correctly via `checkpw`, making the weakness invisible to the application. This issue is triggered only when cost=31 is used or when verifying a `$2a$31$` hash.\n\n### Patches\n\nThis problem has been fixed in version 3.1.22\n\n### Workarounds\n\nSet the cost to something less than 31.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-03-19T17:54:17.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":4.5,"cvss_vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:U","references":["https://github.com/bcrypt-ruby/bcrypt-ruby/security/advisories/GHSA-f27w-vcwj-c954","https://github.com/advisories/GHSA-f27w-vcwj-c954"],"source_kind":"github","identifiers":["GHSA-f27w-vcwj-c954","CVE-2026-33306"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-03-19T18:00:09.434Z","updated_at":"2026-03-19T18:00:09.434Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f","packages":[{"ecosystem":"rubygems","package_name":"bcrypt","versions":[{"first_patched_version":"3.1.22","vulnerable_version_range":"\u003c= 3.1.21"}],"purl":"pkg:gem/bcrypt","statistics":{"dependent_packages_count":351,"dependent_repos_count":288069,"downloads":374453615,"downloads_period":"total"},"affected_versions":["3.1.3","3.1.3-java","3.1.3-x64-mingw32","3.1.3-x86-mingw32","3.1.6","3.1.6-java","3.1.6-x64-mingw32","3.1.6-x86-mingw32","3.1.7","3.1.7-java","3.1.7-x64-mingw32","3.1.7-x86-mingw32","3.1.8","3.1.8-java","3.1.8-x64-mingw32","3.1.8-x86-mingw32","3.1.9","3.1.9-java","3.1.9-x64-mingw32","3.1.9-x86-mingw32","3.1.10","3.1.10-java","3.1.10-x64-mingw32","3.1.10-x86-mingw32","3.1.11","3.1.11-java","3.1.11-x64-mingw32","3.1.11-x86-mingw32","3.1.12","3.1.12.rc1","3.1.12.rc1-java","3.1.12.rc1-x64-mingw32","3.1.12.rc1-x86-mingw32","3.1.12-java","3.1.12-x64-mingw32","3.1.12-x86-mingw32","3.1.13","3.1.13-java","3.1.14","3.1.14-java","3.1.15","3.1.15-java","3.1.16","3.1.16-java","3.1.17","3.1.17-java","3.1.18","3.1.18-java","3.1.19","3.1.19-java","3.1.20","3.1.20-java","3.1.21","3.1.21-java"],"unaffected_versions":["3.1.22"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mMjd3LXZjd2otYzk1NM4ABT3f/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/bcrypt","docker_dependents_count":833,"docker_downloads_count":547815952,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-07T17:00:46.797Z","issues_count":55,"pull_requests_count":73,"avg_time_to_close_issue":39283059.80487805,"avg_time_to_close_pull_request":38429623.0882353,"issues_closed_count":41,"pull_requests_closed_count":68,"pull_request_authors_count":45,"issue_authors_count":50,"avg_comments_per_issue":4.672727272727273,"avg_comments_per_pull_request":2.6301369863013697,"merged_pull_requests_count":47,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":5400.5,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":1.6666666666666667,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/issues","maintainers":[{"login":"tenderlove","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"},{"login":"tjschuck","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tjschuck"}],"active_maintainers":[{"login":"tenderlove","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/bcrypt/codemeta","maintainers":[{"uuid":"207","login":"tenderlove","name":null,"email":null,"url":null,"packages_count":190,"html_url":"https://gem.coop/profiles/tenderlove","role":null,"created_at":"2025-10-07T12:45:31.280Z","updated_at":"2025-10-07T12:45:31.280Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/tenderlove/packages"},{"uuid":"690","login":null,"name":null,"email":null,"url":null,"packages_count":24,"html_url":"https://gem.coop/profiles/","role":null,"created_at":"2025-10-07T12:45:31.216Z","updated_at":"2025-10-07T12:45:31.216Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/690/packages"},{"uuid":"57006","login":"tjschuck","name":null,"email":null,"url":null,"packages_count":9,"html_url":"https://gem.coop/profiles/tjschuck","role":null,"created_at":"2025-10-07T12:45:31.159Z","updated_at":"2025-10-07T12:45:31.159Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/tjschuck/packages"},{"uuid":"30101","login":"codahale","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://gem.coop/profiles/codahale","role":null,"created_at":"2025-10-07T12:45:31.335Z","updated_at":"2025-10-07T12:45:31.335Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/codahale/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":189800,"maintainers_count":67317,"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":13712032,"name":"ruby-bcrypt","ecosystem":"debian","description":null,"homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:25:52.223Z","latest_release_published_at":"2026-02-12T23:25:52.223Z","latest_release_number":"3.1.18-1","last_synced_at":"2026-03-13T15:46:57.869Z","created_at":"2026-02-12T23:25:52.001Z","updated_at":"2026-03-13T15:46:57.869Z","registry_url":"https://tracker.debian.org/pkg/ruby-bcrypt","install_command":"apt-get install ruby-bcrypt","documentation_url":"https://packages.debian.org/bookworm/ruby-bcrypt","metadata":{"component":"main","architecture":"any","priority":"source","binary":"ruby-bcrypt","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-12T23:25:52.706Z","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-bcrypt?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-bcrypt/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm","funded_packages_count":364},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-01T06:53:23.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13466404,"name":"ruby-bcrypt","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/bcrypt-ruby/bcrypt-ruby","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:13:49.603Z","latest_release_published_at":"2026-02-09T16:13:49.603Z","latest_release_number":"3.1.18-1build3","last_synced_at":"2026-03-09T17:03:03.159Z","created_at":"2026-02-09T16:13:47.142Z","updated_at":"2026-03-09T17:32:43.528Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-bcrypt","install_command":"apt-get install ruby-bcrypt","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"ruby-bcrypt","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-bcrypt?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-bcrypt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-bcrypt/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","funded_packages_count":177},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-03-31T06:41:18.525Z","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"}}],"commits":{"id":3095,"full_name":"bcrypt-ruby/bcrypt-ruby","default_branch":"master","total_commits":289,"total_committers":61,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":4.737704918032787,"dds":0.754325259515571,"past_year_total_commits":13,"past_year_total_committers":5,"past_year_total_bot_commits":1,"past_year_total_bot_committers":1,"past_year_mean_commits":2.6,"past_year_dds":0.3076923076923077,"last_synced_at":"2026-04-08T23:37:16.765Z","last_synced_commit":"deb496eaba56077e84bd95ac9bbcca40b6d5d685","created_at":"2023-03-07T09:16:36.176Z","updated_at":"2026-04-08T23:36:16.610Z","committers":[{"name":"T.J. Schuck","email":"tj@getharvest.com","login":"tjschuck","count":71},{"name":"Aaron Patterson","email":"aaron.patterson@gmail.com","login":"tenderlove","count":45},{"name":"codahale","email":"codahale@b1e0f299-433e-4bb3-9895-84128a6cfb6a","login":null,"count":31},{"name":"Coda Hale","email":"coda.hale@gmail.com","login":"codahale","count":17},{"name":"Aman Gupta","email":"aman@tmm1.net","login":"tmm1","count":16},{"name":"Hongli Lai (Phusion)","email":"hongli@phusion.nl","login":"FooBarWidget","count":15},{"name":"Josh Buker","email":"crypto@joshbuker.com","login":"joshbuker","count":12},{"name":"Nate Smith","email":"nate@theinternate.com","login":"nwjsmith","count":7},{"name":"Alan Savage","email":"asavageiv@gmail.com","login":"asavageiv","count":6},{"name":"Felix","email":"hi@l33t.name","login":"fliiiix","count":4},{"name":"Sergey Alekseev","email":"sergey@asoft.co","login":"sergey-alekseev","count":3},{"name":"Erik Michaels-Ober","email":"sferik@gmail.com","login":"sferik","count":3},{"name":"Adam Grare","email":"agrare@redhat.com","login":"agrare","count":3},{"name":"Brandon Fish","email":"brandon.j.fish@oracle.com","login":"bjfish","count":2},{"name":"Bruno Henrique - Garu","email":"squall.bruno@gmail.com","login":"brunohenrique","count":2},{"name":"Florin Onica","email":"floryn.onik@gmail.com","login":"fonica","count":2},{"name":"Jeremy Daer","email":"jeremydaer@gmail.com","login":"jeremy","count":2},{"name":"Kenichi Kamiya","email":"kachick1@gmail.com","login":"kachick","count":2},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":2},{"name":"Paul Annesley","email":"paul@annesley.cc","login":"pda","count":2},{"name":"bfarago","email":"bfarago@gmail.com","login":"bfarago","count":2},{"name":"Chad Jolly","email":"cjolly@lawgical.com","login":"cjolly","count":1},{"name":"Carter Brainerd (thecarterb)","email":"cbawsome77@gmail.com","login":"cbrnrd","count":1},{"name":"Björn Esser","email":"besser82@fedoraproject.org","login":"besser82","count":1},{"name":"Benjamin Fleischer","email":"github@benjaminfleischer.com","login":"bf4","count":1},{"name":"Bart de Water","email":"bartdewater@gmail.com","login":"bdewater","count":1},{"name":"Adam Daniels","email":"adam@mediadrive.ca","login":"adam12","count":1},{"name":"Charlie Savage","email":"cfis@zerista.com","login":null,"count":1},{"name":"Griffin Smith","email":"griffin.smith@getnomi.com","login":null,"count":1},{"name":"Ted Unangst","email":"tedu@mini.t3rl.org","login":null,"count":1},{"name":"timcraft","email":"mail@timcraft.com","login":"timcraft","count":1},{"name":"takiuchi","email":"genki@s21g.com","login":"genki","count":1},{"name":"shmokmt","email":"32533860+shmokmt","login":"shmokmt","count":1},{"name":"m-nakamura145","email":"masato.nakamura145@gmail.com","login":"m-nakamura145","count":1},{"name":"jjoos","email":"jan@deelstra.org","login":"jjoos","count":1},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1},{"name":"Vipul A M","email":"vipulnsward@gmail.com","login":"vipulnsward","count":1},{"name":"Trevor Turk","email":"trevorturk@gmail.com","login":"trevorturk","count":1},{"name":"Tim Felgentreff","email":"timfelgentreff@gmail.com","login":"timfel","count":1},{"name":"Remco van 't Veer","email":"remco@remworks.net","login":"remvee","count":1},{"name":"Piotr Usewicz","email":"piotr@layer22.com","login":"pusewicz","count":1},{"name":"Peter McLain","email":"pmclain@vmware.com","login":"pbm","count":1},{"name":"Peter Goldstein","email":"peter.m.goldstein@gmail.com","login":"petergoldstein","count":1},{"name":"Peter Arato","email":"it.arato@gmail.com","login":"itarato","count":1},{"name":"Nathan Kramer","email":"nathan.l.kramer@gmail.com","login":"nathanKramer","count":1},{"name":"Mohamed Hafez","email":"mohamed.m.m.hafez@gmail.com","login":"mohamedhafez","count":1},{"name":"Mike Ferrier","email":"mferrier@gmail.com","login":"mferrier","count":1},{"name":"Michel Boaventura","email":"michel@boaventura.dev","login":"michelboaventura","count":1},{"name":"Michael McCarthy","email":"mmccarthy@eventpower.com","login":"mmccarthy15","count":1},{"name":"Matt Wildig","email":"matt@mattwildig.co.uk","login":"mattwildig","count":1},{"name":"Mark Young","email":"mark.young@atg.auto","login":"mark-young-atg","count":1},{"name":"Kevin Farrell","email":"kev9229@gmail.com","login":"kevGalway","count":1},{"name":"Joshua Peek","email":"josh@joshpeek.com","login":"josh","count":1},{"name":"Josh Cheek","email":"josh.cheek@gmail.com","login":"JoshCheek","count":1},{"name":"John Firebaugh","email":"john.firebaugh@gmail.com","login":"jfirebaugh","count":1},{"name":"Jeffrey Martin","email":"Jeffrey_Martin@rapid7.com","login":"jmartin-tech","count":1},{"name":"James Abley","email":"james.abley@gmail.com","login":"jabley","count":1},{"name":"Federico","email":"federico.aldunatec@gmail.com","login":"federicoaldunate","count":1},{"name":"Daniel Dyba","email":"daniel.dyba@gmail.com","login":"dyba","count":1},{"name":"Cristian Mircea Messel","email":"mess110@gmail.com","login":"mess110","count":1},{"name":"linus","email":"linus@linus-UX31E.(none)","login":null,"count":1}],"past_year_committers":[{"name":"Aaron Patterson","email":"tenderlove@ruby-lang.org","login":"tenderlove","count":9},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1},{"name":"T.J. Schuck","email":"tj@tjschuck.com","login":"tjschuck","count":1},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":1},{"name":"Kevin Farrell","email":"kev9229@gmail.com","login":"kevGalway","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:23.197Z","repositories_count":6212694,"commits_count":914220622,"contributors_count":35301341,"owners_count":1143380,"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":"bcrypt-ruby/bcrypt-ruby","html_url":"https://github.com/bcrypt-ruby/bcrypt-ruby","last_synced_at":"2026-04-07T17:00:46.797Z","status":"error","issues_count":55,"pull_requests_count":73,"avg_time_to_close_issue":39283059.80487805,"avg_time_to_close_pull_request":38429623.0882353,"issues_closed_count":41,"pull_requests_closed_count":68,"pull_request_authors_count":45,"issue_authors_count":50,"avg_comments_per_issue":4.672727272727273,"avg_comments_per_pull_request":2.6301369863013697,"merged_pull_requests_count":47,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":5400.5,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":1.6666666666666667,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-12T08:12:06.252Z","updated_at":"2026-04-07T17:00:46.798Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcrypt-ruby%2Fbcrypt-ruby/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":47,"CONTRIBUTOR":7,"COLLABORATOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":44,"NONE":19,"COLLABORATOR":10},"issue_authors":{"mohamedhafez":4,"joshbuker":2,"boutil":2,"jusondac":1,"daya":1,"davestevens":1,"iamhamzaawan":1,"alecvn":1,"esposito":1,"mlen":1,"ben-b-ow":1,"hiiiide":1,"fahad-afzal":1,"copiousfreetime":1,"larskanis":1,"helosshi":1,"Bertg":1,"courtland":1,"agrare":1,"tymat":1,"belgoros":1,"Segaja":1,"sremiger1":1,"bfarago":1,"serhiidedik":1,"lebigsquare":1,"rajeevkannav":1,"vishnurkrishnan":1,"EmanuelRodriguezBedeman":1,"antonakospanos":1,"ckalpakoglu":1,"MatzFan":1,"elviajero971":1,"kai-koskinen":1,"sleeptousyou":1,"leskiger":1,"LocutusOfBorg":1,"tjschuck":1,"starrychloe":1,"AliOsm":1,"nwjsmith":1,"steffanllyn-ln":1,"Jefferson-Faseler":1,"headius":1,"JamesAnthonyPino":1,"jwcooper":1,"benpratt":1,"thooams":1,"preetpalS":1,"mipearson":1},"pull_request_authors":{"tenderlove":7,"joshbuker":5,"nwjsmith":4,"olleolleolle":3,"sergey-alekseev":3,"tjschuck":3,"hakeem0114":2,"davestevens":2,"mohamedhafez":2,"kachick":2,"federicoaldunate":2,"jmartin-r7":2,"m-nakamura145":2,"jeremy":2,"glittershark":2,"adam12":1,"jjoos":1,"hiiiide":1,"fliiiix":1,"fonica":1,"p8":1,"itarato":1,"ysadka":1,"pusewicz":1,"shmokmt":1,"bjfish":1,"ujjwalsh":1,"asavageiv":1,"yxmatic":1,"igor-drozdov":1,"jrusnack":1,"timcraft":1,"michelboaventura":1,"mmccarthy15":1,"petergoldstein":1,"agrare":1,"kirillrdy":1,"meanphil":1,"nathanKramer":1,"mark-young-atg":1,"besser82":1,"eregon":1,"Bertg":1,"JoshCheek":1,"bfarago":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:10.509Z","repositories_count":14153909,"issues_count":34533809,"pull_requests_count":112874605,"authors_count":11231060,"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":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":2,"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"COLLABORATOR":2,"CONTRIBUTOR":2,"NONE":2},"past_year_issue_authors":{"ckalpakoglu":1,"headius":1,"mohamedhafez":1},"past_year_pull_request_authors":{"hakeem0114":2,"tenderlove":2,"eregon":1,"olleolleolle":1},"maintainers":[{"login":"tenderlove","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"},{"login":"tjschuck","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tjschuck"}],"active_maintainers":[{"login":"tenderlove","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tenderlove"}]},"events":{"total":{"DeleteEvent":1,"PullRequestEvent":12,"ForkEvent":3,"IssuesEvent":5,"WatchEvent":49,"IssueCommentEvent":9,"PushEvent":9,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":2,"CreateEvent":3},"last_year":{"DeleteEvent":1,"PullRequestEvent":6,"ForkEvent":3,"IssuesEvent":2,"WatchEvent":20,"IssueCommentEvent":7,"PushEvent":6,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":2,"CreateEvent":3}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ruby.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T10:14:53.834Z","updated_at":"2023-01-13T10:14:53.834Z","repository_link":"https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/.github/workflows/ruby.yml","dependencies":[{"id":6875540315,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6875540316,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"bcrypt.gemspec","sha":null,"kind":"manifest","created_at":"2023-01-13T10:14:53.860Z","updated_at":"2023-01-13T10:14:53.860Z","repository_link":"https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/bcrypt.gemspec","dependencies":[{"id":6875540317,"package_name":"rake-compiler","ecosystem":"rubygems","requirements":"~\u003e 1.2.0","direct":true,"kind":"development","optional":false},{"id":6875540318,"package_name":"rspec","ecosystem":"rubygems","requirements":"\u003e= 3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yml","sha":null,"kind":"manifest","created_at":"2026-03-28T07:05:45.634Z","updated_at":"2026-03-28T07:05:45.634Z","repository_link":"https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/.github/workflows/release.yml","dependencies":[{"id":25849302560,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25849302561,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25849302562,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25849302563,"package_name":"rubygems/release-gem","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2023-11-17T17:07:17.988Z","updated_at":"2023-11-17T17:07:17.988Z","repository_link":"https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/Gemfile","dependencies":[]}],"score":33.047732876194814,"created_at":"2024-12-15T21:38:08.300Z","updated_at":"2026-04-30T04:03:12.907Z","avatar_url":"https://github.com/bcrypt-ruby.png","language":"C","monthly_downloads":0,"readme":"# bcrypt-ruby\n\nAn easy way to keep your users' passwords secure.\n\n* https://github.com/bcrypt-ruby/bcrypt-ruby/tree/master\n\n[![Github Actions Build Status](https://github.com/bcrypt-ruby/bcrypt-ruby/actions/workflows/ruby.yml/badge.svg?branch=master)](https://github.com/bcrypt-ruby/bcrypt-ruby/actions/workflows/ruby.yml)\n\n## Why you should use `bcrypt()`\n\nIf you store user passwords in the clear, then an attacker who steals a copy of your database has a giant list of emails\nand passwords. Some of your users will only have one password -- for their email account, for their banking account, for\nyour application. A simple hack could escalate into massive identity theft.\n\nIt's your responsibility as a web developer to make your web application secure -- blaming your users for not being\nsecurity experts is not a professional response to risk.\n\n`bcrypt()` allows you to easily harden your application against these kinds of attacks.\n\n*Note*: JRuby versions of the bcrypt gem `\u003c= 2.1.3` had a [security\nvulnerability](https://www.mindrot.org/files/jBCrypt/internat.adv) that\nwas fixed in `\u003e= 2.1.4`. If you used a vulnerable version to hash\npasswords with international characters in them, you will need to\nre-hash those passwords. This vulnerability only affected the JRuby gem.\n\n## How to install bcrypt\n\n    gem install bcrypt\n\nThe bcrypt gem is available on the following Ruby platforms:\n\n* JRuby\n* RubyInstaller builds on Windows with the DevKit\n* Any modern Ruby on a BSD/OS X/Linux system with a compiler\n\n## How to use `bcrypt()` in your Rails application\n\n*Note*: Rails versions \u003e= 3 ship with `ActiveModel::SecurePassword` which uses bcrypt-ruby.\n`has_secure_password` [docs](https://api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html#method-i-has_secure_password)\nimplements a similar authentication strategy to the code below.\n\n### The _User_ model\n```ruby\nrequire 'bcrypt'\n\nclass User \u003c ActiveRecord::Base\n  # users.password_hash in the database is a :string\n  include BCrypt\n\n  def password\n    @password ||= Password.new(password_hash)\n  end\n\n  def password=(new_password)\n    @password = Password.create(new_password)\n    self.password_hash = @password\n  end\nend\n```\n### Creating an account\n```ruby\ndef create\n  @user = User.new(params[:user])\n  @user.password = params[:password]\n  @user.save!\nend\n```\n### Authenticating a user\n```ruby\ndef login\n  @user = User.find_by_email(params[:email])\n  if @user.password == params[:password]\n    give_token\n  else\n    redirect_to home_url\n  end\nend\n```\n## How to use bcrypt-ruby in general\n```ruby\nrequire 'bcrypt'\n\nmy_password = BCrypt::Password.create(\"my password\")\n#=\u003e \"$2a$12$K0ByB.6YI2/OYrB4fQOYLe6Tv0datUVf6VZ/2Jzwm879BW5K1cHey\"\n\nmy_password.version              #=\u003e \"2a\"\nmy_password.cost                 #=\u003e 12\nmy_password == \"my password\"     #=\u003e true\nmy_password == \"not my password\" #=\u003e false\n\nmy_password = BCrypt::Password.new(\"$2a$12$K0ByB.6YI2/OYrB4fQOYLe6Tv0datUVf6VZ/2Jzwm879BW5K1cHey\")\nmy_password == \"my password\"     #=\u003e true\nmy_password == \"not my password\" #=\u003e false\n```\nCheck the rdocs for more details -- BCrypt, BCrypt::Password.\n\n## How `bcrypt()` works\n\n`bcrypt()` is a hashing algorithm designed by Niels Provos and David Mazières of the OpenBSD Project.\n\n### Background\n\nHash algorithms take a chunk of data (e.g., your user's password) and create a \"digital fingerprint,\" or hash, of it.\nBecause this process is not reversible, there's no way to go from the hash back to the password.\n\nIn other words:\n\n    hash(p) #=\u003e \u003cunique gibberish\u003e\n\nYou can store the hash and check it against a hash made of a potentially valid password:\n\n    \u003cunique gibberish\u003e =? hash(just_entered_password)\n\n### Rainbow Tables\n\nBut even this has weaknesses -- attackers can just run lists of possible passwords through the same algorithm, store the\nresults in a big database, and then look up the passwords by their hash:\n\n    PrecomputedPassword.find_by_hash(\u003cunique gibberish\u003e).password #=\u003e \"secret1\"\n\n### Salts\n\nThe solution to this is to add a small chunk of random data -- called a salt -- to the password before it's hashed:\n\n    hash(salt + p) #=\u003e \u003creally unique gibberish\u003e\n\nThe salt is then stored along with the hash in the database, and used to check potentially valid passwords:\n\n    \u003creally unique gibberish\u003e =? hash(salt + just_entered_password)\n\nbcrypt-ruby automatically handles the storage and generation of these salts for you.\n\nAdding a salt means that an attacker has to have a gigantic database for each unique salt -- for a salt made of 4\nletters, that's 456,976 different databases. Pretty much no one has that much storage space, so attackers try a\ndifferent, slower method -- throw a list of potential passwords at each individual password:\n\n    hash(salt + \"aadvark\") =? \u003creally unique gibberish\u003e\n    hash(salt + \"abacus\")  =? \u003creally unique gibberish\u003e\n    etc.\n\nThis is much slower than the big database approach, but most hash algorithms are pretty quick -- and therein lies the\nproblem. Hash algorithms aren't usually designed to be slow, they're designed to turn gigabytes of data into secure\nfingerprints as quickly as possible. `bcrypt()`, though, is designed to be computationally expensive:\n\n    Ten thousand iterations:\n                 user     system      total        real\n    md5      0.070000   0.000000   0.070000 (  0.070415)\n    bcrypt  22.230000   0.080000  22.310000 ( 22.493822)\n\nIf an attacker was using Ruby to check each password, they could check ~140,000 passwords a second with MD5 but only\n~450 passwords a second with `bcrypt()`.\n\n### Cost Factors\n\nIn addition, `bcrypt()` allows you to increase the amount of work required to hash a password as computers get faster. Old\npasswords will still work fine, but new passwords can keep up with the times.\n\nThe default cost factor used by bcrypt-ruby is 12, which is fine for session-based authentication. If you are using a\nstateless authentication architecture (e.g., HTTP Basic Auth), you will want to lower the cost factor to reduce your\nserver load and keep your request times down. This will lower the security provided you, but there are few alternatives.\n\nTo change the default cost factor used by bcrypt-ruby, use `BCrypt::Engine.cost = new_value`:\n```ruby\nBCrypt::Password.create('secret').cost\n  #=\u003e 12, the default provided by bcrypt-ruby\n\n# set a new default cost\nBCrypt::Engine.cost = 8\nBCrypt::Password.create('secret').cost\n  #=\u003e 8\n```\nThe default cost can be overridden as needed by passing an options hash with a different cost:\n\n    BCrypt::Password.create('secret', :cost =\u003e 6).cost  #=\u003e 6\n\n## More Information\n\n`bcrypt()` is currently used as the default password storage hash in OpenBSD, widely regarded as the most secure operating\nsystem available.\n\nFor a more technical explanation of the algorithm and its design criteria, please read Niels Provos and David Mazières'\nUsenix99 paper:\nhttps://www.usenix.org/events/usenix99/provos.html\n\nIf you'd like more down-to-earth advice regarding cryptography, I suggest reading \u003ci\u003ePractical Cryptography\u003c/i\u003e by Niels\nFerguson and Bruce Schneier:\nhttps://www.schneier.com/book-practical.html\n\n# Etc\n\n* Author  :: Coda Hale \u003ccoda.hale@gmail.com\u003e\n* Website :: https://codahale.com\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rubygems","rack","sinatra","rspec","ruby-gem","feature-flag","crash-reporting"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/537","html_url":"https://ruby.ecosyste.ms/projects/537"}