#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 2135/week @ 2023-10-23 2076/week @ 2023-10-30 1451/week @ 2023-11-06 2056/week @ 2023-11-13 1861/week @ 2023-11-20 1447/week @ 2023-11-27 1407/week @ 2023-12-04 1698/week @ 2023-12-11 1743/week @ 2023-12-18 1266/week @ 2023-12-25 1203/week @ 2024-01-01 1783/week @ 2024-01-08 1606/week @ 2024-01-15 2019/week @ 2024-01-22 1853/week @ 2024-01-29 1253/week @ 2024-02-05

6,884 downloads per month
Used in 76 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