39 lines
925 B
Rust
39 lines
925 B
Rust
pub mod consts;
|
|
pub mod sha3;
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
// use super::*;
|
|
|
|
use crate::sha3::Sha3_256;
|
|
|
|
#[test]
|
|
fn it_works() {
|
|
let mut sha = Sha3_256::default();
|
|
|
|
let text = "";
|
|
|
|
let arr = text.as_bytes();
|
|
|
|
let mut data = [0_u8; 136];
|
|
data.clone_from_slice(arr);
|
|
|
|
// sha.absorb([0, 1, 2, 3, 4, 5, 6, 7]);
|
|
sha.absorb(&data);
|
|
let res = sha.squeeze();
|
|
// a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a
|
|
let expected_res: [u8; 32] = [
|
|
0xa7, 0xff, 0xc6, 0xf8, 0xbf, 0x1e, 0xd7, 0x66, 0x51, 0xc1, 0x47, 0x56, 0xa0, 0x61,
|
|
0xd6, 0x62, 0xf5, 0x80, 0xff, 0x4d, 0xe4, 0x3b, 0x49, 0xfa, 0x82, 0xd8, 0x0a, 0x4b,
|
|
0x80, 0xf8, 0x43, 0x4a,
|
|
];
|
|
|
|
for i in 0..32 {
|
|
print!("{:#001x}", res[i]);
|
|
}
|
|
println!();
|
|
|
|
assert!(res == expected_res);
|
|
}
|
|
}
|