rcrypt
: A compact hashing and salting libraryrcrypt
, short for "reduced crypt" is a compact hashing and salting library based on bcrypt generating hashes that are 33.3% smaller than bcrypt (40 bytes over 60 bytes).
It was originally made for a part of Skytable's authentication
system storage, but was moved into a separate library for usage in the wider Rust community.
rcrypt
is almost a drop-in replacement for the bcrypt
crate. Here's how it works.
rust
use rcrypt::DEFAULT_COST;
// your password
let mypass = String::from("pass123");
// hash
let hash = rcrypt::hash(&mypass, DEFAULT_COST).unwrap();
// verify
assert!(rcrypt::verify(&mypass, &hash).unwrap());
The usage remains just the same for users who use the bcrypt crate, except that the hash
method returns a Vec<u8>
instead of a String
, while for the verify
method you need to pass a &[u8]
for the hash.
The smaller hash sizes result by rcrypt
producing binary hashes and merging hash fields, in accordance
with the BMCF spec.
rcrypt
bcrypt
crateThis crate is distributed under the Apache-2.0 License.