7个版本
使用旧的Rust 2015
0.1.6 | 2017年10月17日 |
---|---|
0.1.5 | 2017年10月13日 |
#26 in #keccak
175KB
269 行
包含 (rust库, 165KB) libkeccakrs.rlib
添加到Cargo.toml
[dependencies]
keccakrs = "*"
在您的代码中,使用如下
extern crate keccakrs;
use keccakrs::*;
fn main() {
let mut keccak = keccakrs::Keccak::new(1088usize, 512usize);
/* Other options include:
* keccak = keccakrs::new_keccak1600_224();
* keccak = keccakrs::new_keccak1600_256();
* keccak = keccakrs::new_keccak1600_384();
* keccak = keccakrs::new_keccak1600_512();
*/
let input = &mut String::from("Hello World");
keccak.injest(input);
let output: Vec<u8> = keccak.hash();
let state: Vec<u64> = keccak.get_internal_state();
}
此包正在开发中。使用风险自负。
此代码库的主要目标是提供一个易于阅读和理解Keccak的实现。
(这不是Keccak的特别快速实现,但它不使用任何不安全代码)
test perf_k_256_empty_input ... bench: 2,603 ns/iter (+/- 463)
test perf_k_256_long_input ... bench: 6,348 ns/iter (+/- 2,624)
test perf_k_512_empty_input ... bench: 2,560 ns/iter (+/- 442)
test perf_k_512_long_input ... bench: 8,917 ns/iter (+/- 1,638)