marsupial
a rust wrapper for xkcp/k12, derived from oconnor663/kangarootwelve_xkcp.rs
usage
in order to use the crate, you need:
- a c compiler
- rust
- gnuplot (if you want plot generation when benchmarking)
then, just add a dependency upon the marsupial crate in Cargo.toml, and
then you can use it like this:
use ;
// hash an input all at once
let hash1 = ;
// hash an input incrementally
let mut hasher = new;
hasher.update;
hasher.update;
hasher.update;
let hash2 = hasher.finalize;
assert_eq!;
// extended output. `OutputReader` also implements `Read`
let mut hasher = new;
hasher.update;
let mut output_reader = hasher.finalize_xof;
let mut output = ;
output_reader.squeeze;
assert_eq!;
// emit the hash as hexadecimal (does not work for now)
//println!("{}", hash1.to_hex());
is it fast?
benchmarks done on an intel i5-1135G7 using rust 1.79.0 on debian linux trixie/sid
license
as is with kangarootwelve_xkcp.rs, all of the rust wrapping code is dedicated
to the public domain via
cc0. the vendored
xkcp code is covered by a
mixture of licenses