#blake2b #ref

blake2b-ref

A no_std BLAKE2B implementation

5 unstable releases

0.3.1 Aug 10, 2022
0.3.0 Dec 8, 2020
0.2.1 Nov 11, 2020
0.2.0 Oct 15, 2020
0.1.0 Jan 20, 2020
Download history 948/week @ 2023-06-05 939/week @ 2023-06-12 1542/week @ 2023-06-19 1081/week @ 2023-06-26 1110/week @ 2023-07-03 1188/week @ 2023-07-10 1159/week @ 2023-07-17 1119/week @ 2023-07-24 982/week @ 2023-07-31 1142/week @ 2023-08-07 1490/week @ 2023-08-14 1811/week @ 2023-08-21 1328/week @ 2023-08-28 1439/week @ 2023-09-04 962/week @ 2023-09-11 1211/week @ 2023-09-18

5,115 downloads per month
Used in 33 crates (3 directly)

MIT license

1MB
21K SLoC

blake2b-ref.rs

Crates.io

A no_std BLAKE2B crate.

This crate is transcompiled by c2rust; the source code is from the offcial BLAKE2 ref implementation. The transcompiled source has been modified slightly to support no_std.

The API design is highly inspired - almost copy from https://github.com/nervosnetwork/blake2b-rs.


lib.rs:

This crate is transcompiled from blake2b-ref

Example:

use blake2b_ref::Blake2bBuilder;

fn hash_message(msg: &[u8]) -> [u8; 32] {
    let mut output = [0u8; 32];
    let mut blake2b = Blake2bBuilder::new(32).personal(b"SMT").build();
    blake2b.update(msg);
    blake2b.finalize(&mut output);
    output
}

No runtime deps