21 unstable releases

Uses new Rust 2024

new 0.11.0-rc.6 Feb 3, 2026
0.11.0-rc.2 Nov 5, 2025
0.11.0-rc.0 May 31, 2025
0.11.0-pre.1 Jul 27, 2024
0.0.4 Nov 25, 2018

#1844 in Authentication

Download history 82115/week @ 2025-10-14 86357/week @ 2025-10-21 86949/week @ 2025-10-28 82743/week @ 2025-11-04 82291/week @ 2025-11-11 90770/week @ 2025-11-18 75481/week @ 2025-11-25 90657/week @ 2025-12-02 89059/week @ 2025-12-09 77586/week @ 2025-12-16 33636/week @ 2025-12-23 43240/week @ 2025-12-30 103174/week @ 2026-01-06 109869/week @ 2026-01-13 117924/week @ 2026-01-20 105636/week @ 2026-01-27

448,676 downloads per month
Used in 223 crates (18 directly)

MIT/Apache

52KB
858 lines

RustCrypto: bcrypt-pbkdf

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

Pure Rust implementation of the bcrypt_pbkdf password-based key derivation function, a custom derivative of PBKDF2 used in OpenSSH.

About

bcrypt_pbkdf is a password-based key derivation function that uses a PBKDF2-style repeated application of a hash function, but instead of using a standard hash function like SHA-2 it uses a bcrypt-style core based on the Blowfish cipher. At its heart is a modified bcrypt operation called "bhash" that repeatedly mixes the password and salt into Blowfish’s internal state and then uses Blowfish to encrypt a fixed 256-bit constant, producing a block of output. This is deliberately expensive to compute to thwart brute force attacks, with a user-controlled number of rounds which control the compute cost of the derivation.

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

~1MB
~26K SLoC