#password-hashing #string-format #password #crypt #mcf #phc #pbkdf

no-std password-hash

Traits which describe the functionality of password hashing algorithms, as well as a no_std-friendly implementation of the PHC string format (a well-defined subset of the Modular Crypt Format a.k.a. MCF)

17 releases

0.6.0-pre.0 Feb 9, 2024
0.5.0 Mar 4, 2023
0.5.0-pre.1 Feb 27, 2023
0.4.2 Jun 28, 2022
0.0.0 Aug 18, 2020

#913 in Authentication

Download history 118084/week @ 2023-12-23 182771/week @ 2023-12-30 233689/week @ 2024-01-06 246873/week @ 2024-01-13 260607/week @ 2024-01-20 270332/week @ 2024-01-27 271410/week @ 2024-02-03 262461/week @ 2024-02-10 252492/week @ 2024-02-17 268798/week @ 2024-02-24 283503/week @ 2024-03-02 283209/week @ 2024-03-09 295488/week @ 2024-03-16 305647/week @ 2024-03-23 326695/week @ 2024-03-30 267812/week @ 2024-04-06

1,245,041 downloads per month
Used in 614 crates (19 directly)

MIT/Apache

81KB
1.5K SLoC

RustCrypto: Password Hashing Traits

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Traits which describe the functionality of password hashing algorithms.

Documentation

About

Provides a no_std-friendly implementation of the Password Hashing Competition (PHC) string format specification (a well-defined subset of the Modular Crypt Format a.k.a. MCF) which works in conjunction with the traits this crate defines.

Supported Crates

See RustCrypto/password-hashes for algorithm implementations which use this crate for interoperability:

  • argon2 - Argon2 memory hard key derivation function
  • pbkdf2 - Password-Based Key Derivation Function v2
  • scrypt - scrypt key derivation function

Minimum Supported Rust Version

Rust 1.60 or higher.

Minimum supported Rust version may be changed in the future, but it will be accompanied by a minor version bump.

SemVer Policy

  • All on-by-default features of this library are covered by SemVer
  • MSRV is considered exempt from SemVer as noted above

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~140–270KB