#crypto #password #hashing

no-std argon2

Pure Rust implementation of the Argon2 password hashing function with support for the Argon2d, Argon2i, and Argon2id algorithmic variants

9 releases

Uses new Rust 2021

0.4.1 Jun 27, 2022
0.4.0 Mar 18, 2022
0.3.4 Feb 17, 2022
0.3.2 Dec 7, 2021
0.0.0 Feb 28, 2017

#3 in #hashing

Download history 21074/week @ 2022-06-08 20060/week @ 2022-06-15 21195/week @ 2022-06-22 24839/week @ 2022-06-29 24618/week @ 2022-07-06 28370/week @ 2022-07-13 30100/week @ 2022-07-20 30927/week @ 2022-07-27 34096/week @ 2022-08-03 36549/week @ 2022-08-10 34932/week @ 2022-08-17 34858/week @ 2022-08-24 35387/week @ 2022-08-31 44329/week @ 2022-09-07 45506/week @ 2022-09-14 36077/week @ 2022-09-21

168,325 downloads per month
Used in 46 crates (31 directly)



RustCrypto: Argon2

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

Pure Rust implementation of the Argon2 password hashing function.



Argon2 is a memory-hard key derivation function chosen as the winner of the Password Hashing Competition in July 2015.

It implements the following three three algorithmic variants:

  • Argon2d: maximizes resistance to GPU cracking attacks
  • Argon2i: optimized to resist side-channel attacks
  • Argon2id: (default) hybrid version combining both Argon2i and Argon2d

Support is provided for embedded (i.e. no_std) environments, including ones without alloc support.

Minimum Supported Rust Version

Rust 1.57 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with 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


Licensed under either of:

at your option.


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.


~18K SLoC