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

#551 in Algorithms

Download history 1099/week @ 2024-06-10 1503/week @ 2024-06-17 1634/week @ 2024-06-24 1099/week @ 2024-07-01 1172/week @ 2024-07-08 1810/week @ 2024-07-15 1707/week @ 2024-07-22 1977/week @ 2024-07-29 1630/week @ 2024-08-05 2303/week @ 2024-08-12 1476/week @ 2024-08-19 2006/week @ 2024-08-26 1736/week @ 2024-09-02 1308/week @ 2024-09-09 1220/week @ 2024-09-16 1723/week @ 2024-09-23

6,148 downloads per month
Used in 86 crates (4 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