tablesalt

Crates.iotablesalt
lib.rstablesalt
version0.3.1
sourcesrc
created_at2023-05-25 10:18:03.975088
updated_at2023-06-17 00:49:34.94054
descriptionA safe, oxidized wrapper for libsodium
homepagehttps://github.com/JacoMalan1/tablesalt
repositoryhttps://github.com/JacoMalan1/tablesalt
max_upload_size
id874194
size35,209
Jaco Malan (JacoMalan1)

documentation

README

TableSalt

codecov test safety schedule check

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));
}
Commit count: 34

cargo fmt