PackageTrack
Sign in Get early access

password-hash

Traits which describe the functionality of password hashing algorithms, with optional support for a `no_std`/`no_alloc`-friendly implementation of the PHC string format, as well as generic support for other formats (e.g. Modular Crypt Format)

0.6.1 110M downloads/mo #758 most downloaded on crates.io RustCrypto/traits

What this package is like to depend on

Last release 4 months ago

08 Apr 2026

Release timing varies

gaps range from 9 days to 12 months

Nearly every release is documented

notes for 13 of 13 stable releases

6 versions withdrawn

withdrawn after publishing

6 years old

37 releases · first in 2020

13 releases in the last 12 months

see the full history below

Release timeline

37 releases · Aug 2020 to Apr 2026
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 37
  1. 0.6.1 08 Apr 2026
    Release notes

    Changed

    • Bounds for blanket impl of PasswordVerifier for phc::PasswordHash [BREAKING] (#2370)
    Open source →
  2. 0.6.0 10 Mar 2026 withdrawn
    Release notes

    NOTE: this release was yanked to accommodate breaking changes introduced in v0.6.1.

    Added

    • Generic H param to traits to support multiple string formats e.g. PHC, MCF (#2110)
    • Implement From<phc::Error> for Error (#2124)
    • rand_core feature (#2126)
    • Salt generating helper functions (try_)generate_salt (#2128)
    • Error::RngFailure variant (#2337)

    Changed

    • Edition changed to 2024 and MSRV bumped to 1.85 (#1759)
    • Extract CustomizedPasswordHasher trait (#2105)
    • Bump getrandom to v0.4 (#2258)

    Removed

    • Encoding enum (#2102)
    • PHC types moved to the phc crate, which is re-exported as password_hash::phc when the phc crate feature is enabled (#2103, #2116):
      • Ident
      • Output
      • ParamsString
      • PasswordHash
      • PasswordHashString
      • Salt
      • SaltString
      • Value
    • McfHasher trait (#2334)
    Open source →
  3. 0.6.0-rc.12 01 Feb 2026 pre-release

    Nothing published for this version

  4. 0.6.0-rc.11 24 Jan 2026 pre-release

    Nothing published for this version

  5. 0.6.0-rc.10 21 Jan 2026 pre-release

    Nothing published for this version

  6. 0.6.0-rc.9 19 Jan 2026 pre-release

    Nothing published for this version

  7. 0.6.0-rc.8 11 Jan 2026 pre-release

    Nothing published for this version

  8. 0.6.0-rc.7 28 Dec 2025 pre-release

    Nothing published for this version

  9. 0.6.0-rc.6 13 Dec 2025 pre-release

    Nothing published for this version

  10. 0.6.0-rc.5 11 Dec 2025 pre-release

    Nothing published for this version

  11. 0.6.0-rc.4 10 Dec 2025 pre-release

    Nothing published for this version

  12. 0.6.0-rc.3 07 Dec 2025 pre-release

    Nothing published for this version

  13. 0.6.0-rc.2 05 Nov 2025 pre-release

    Nothing published for this version

  14. 0.6.0-rc.1 29 May 2025 pre-release

    Nothing published for this version

  15. 0.6.0-rc.0 27 Jul 2024 pre-release

    Nothing published for this version

  16. 0.6.0-pre.0 09 Feb 2024 pre-release

    Nothing published for this version

  17. 0.5.0 04 Mar 2023
    Release notes

    Added

    • Error::OutputSize (#1026)
    • std::error::Error::source for Error (#1264)
    • getrandom feature (#1267)

    Changed

    • Use Salt type with PasswordHasher (#1187)
    • Rename Salt::new => Salt::from_b64 (#1266)
    • Rename Salt::b64_decode => Salt::decode_b64 (#1266)
    • Rename SaltString::new => SaltString::from_b64 (#1266)
    • Rename SaltString::b64_decode => SaltString::decode_b64 (#1266)
    • Rename SaltString::b64_encode => SaltString::encode_b64 (#1266)

    Fixed

    • Allow Salt to be exactly the same amount as MAX_LENGTH value (#1246)
    Open source →
  18. 0.5.0-rc.0 04 Mar 2023 pre-release

    Nothing published for this version

  19. 0.5.0-pre.1 27 Feb 2023 pre-release

    Nothing published for this version

  20. 0.5.0-pre.0 09 Jan 2023 pre-release

    Nothing published for this version

  21. 0.4.2 28 Jun 2022
    Release notes

    Fixed

    • docs.rs metadata (#1031)
    Open source →
  22. 0.4.1 22 Apr 2022
    Release notes

    Added

    • authentication category to Cargo.toml (#976)
    Open source →
  23. 0.4.0 09 Mar 2022
    Release notes

    Changed

    • Leverage const_panic; MSRV 1.57 (#896)
    • Rust 2021 edition upgrade (#897)
    • Make Ident::new fallible; add Ident::new_unwrap (#896, #960)

    Fixed

    • Better Debug/Display impls for SaltString (#804)

    Removed

    • base64ct version restrictions (#914)
    Open source →
  24. 0.3.2 15 Sep 2021
    Release notes

    Fixed

    • Remove unused lifetimes (#760)
    Open source →
  25. 0.3.1 15 Sep 2021 withdrawn
    Release notes

    Added

    • PasswordHashString (#758)

    Fixed

    • Handling of empty salts in fmt::Display impl for PasswordHash (#748)
    • MSRV regression from base64ct (#757)
    Open source →
  26. 0.3.0 27 Aug 2021 withdrawn
    Release notes

    Added

    • More details to ParamValueInvalid (#713)
    • SaltInvalid error (#713)
    • version param to PasswordHasher (#719)
    • ParamsString::add_b64_bytes method (#722)

    Changed

    • Rename PasswordHash::hash_password_simple => PasswordHash::hash_password (#720)
    • Rename PasswordHash::hash_password => PasswordHash::hash_password_customized (#720)
    • Rename Error::B64 => Error::B64Encoding (#721)
    Open source →
  27. 0.3.0-pre.1 26 Aug 2021 pre-release

    Nothing published for this version

  28. 0.2.3 23 Aug 2021
    Release notes

    Changed

    • Make max lengths of Value and Salt both 64 (#707)
    Open source →
  29. 0.2.2 20 Jul 2021
    Release notes

    Changed

    • Pin subtle dependency to v2.4 (#689)

    Added

    • Re-export rand_core (#683)
    Open source →
  30. 0.2.1 05 May 2021
    Release notes

    Changed

    • Use subtle crate for comparing hash Output (#631)
    Open source →
  31. 0.2.0 29 Apr 2021
    Release notes

    Changed

    • Allow specifying output length and version with params (#615)
    • Allow passing &str, &Salt, or &SaltString as salt (#615)
    • Simplify error handling (#615)
    Open source →
  32. 0.1.4 19 Apr 2021
    Release notes

    Added

    • Length constants (#600)

    Changed

    • Deprecate functions for obtaining length constants (#600)
    Open source →
  33. 0.1.3 17 Apr 2021
    Release notes

    Changed

    • Update docs for PHC string <version> field (#593)

    Fixed

    • Broken b64 links in rustdoc (#594)
    Open source →
  34. 0.1.2 17 Mar 2021
    Release notes

    Changed

    • Bump base64ct dependency to v1.0 (#579)
    Open source →
  35. 0.1.1 01 Feb 2021 withdrawn
    Release notes

    Added

    • Encoding enum with bcrypt and crypt(3) Base64 support (#515)
    • Support for using PasswordHash with an alternate Encoding (#518)

    Changed

    • Bump base64ct dependency to v0.2 (#519)
    Open source →
  36. 0.1.0 29 Jan 2021 withdrawn
    Release notes
    • Initial release
    Open source →
  37. 0.0.0 18 Aug 2020 withdrawn

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive