3 releases (breaking)
0.3.1 | Jun 17, 2023 |
---|---|
0.3.0 |
|
0.2.0 | Jun 15, 2023 |
0.1.0 | May 25, 2023 |
#1898 in Cryptography
22 downloads per month
25KB
421 lines
TableSalt
Description
TableSalt is a safe, oxidized wrapper for libsodium.
Usage
To use tablesalt, add start by adding it as a dependency in your Cargo.toml
file.
[dependencies]
tablesalt = "0.3.1"
Hashing
Currently, TableSalt only provides libsodium's crypto_generichash API.
Hashing a message
The following example shows how to hash a simple message. The code here uses the crate
hex
to encode the hash, which is a Vec<u8>
into a hexadecimal string.
use tablesalt::sodium;
fn main() {
let s = sodium::Sodium::new();
let hash = s.crypto_generichash(b"Some message", None, 32);
println!("blake2b hash: {}", hex::encode(&hash));
}
Hashing a multi-part message
use tablesalt::sodium;
fn main() {
let s = sodium::Sodium::new();
let mut state = s.crypto_generichash_init(None, 32);
state.update(b"Some ");
state.update(b"message");
let hash = state.finalize();
println!("blake2b hash: {}", hex::encode(&hash));
}
Dependencies
~15MB
~67K SLoC