trying to convert state into [u64; 25]
This commit is contained in:
44
src/main.rs
44
src/main.rs
@@ -1,26 +1,48 @@
|
||||
use std::{env, fs::File, io::Read, time};
|
||||
|
||||
use sha3::sha3::Sha3_256;
|
||||
|
||||
fn main() {
|
||||
let args: Vec<String> = env::args().collect();
|
||||
|
||||
if args.len() != 2 {
|
||||
eprintln!("Usage: {} <filename>", args[0]);
|
||||
std::process::exit(1);
|
||||
}
|
||||
|
||||
let filename = &args[1];
|
||||
let mut file = File::open(filename).unwrap();
|
||||
|
||||
let mut file_data = Vec::new();
|
||||
|
||||
file.read_to_end(&mut file_data).unwrap();
|
||||
|
||||
let mut sha = Sha3_256::default();
|
||||
|
||||
// println!("{:?}", (0x01 as u64).to_ne_bytes());
|
||||
|
||||
let text = "hola";
|
||||
// let text = "hola";
|
||||
|
||||
sha.absorb(text.as_bytes());
|
||||
let res = sha.squeeze();
|
||||
let now = time::Instant::now();
|
||||
|
||||
let expected_res: [u8; 32] = [
|
||||
0x8a, 0xf1, 0x3d, 0x92, 0x44, 0x61, 0x8e, 0xee, 0x87, 0x6d, 0x04, 0x31, 0xf3, 0x44, 0x9a,
|
||||
0xa4, 0xff, 0x95, 0x27, 0x4c, 0xa3, 0xe7, 0xe5, 0xc6, 0x54, 0x19, 0x79, 0x49, 0x9f, 0x5b,
|
||||
0x85, 0xde,
|
||||
];
|
||||
sha.absorb(&file_data);
|
||||
let res: [u8; 32] = sha.squeeze();
|
||||
|
||||
let elapsed = now.elapsed().as_micros() as f32;
|
||||
|
||||
// let expected_res: [u8; 32] = [
|
||||
// 0x8a, 0xf1, 0x3d, 0x92, 0x44, 0x61, 0x8e, 0xee, 0x87, 0x6d, 0x04, 0x31, 0xf3, 0x44, 0x9a,
|
||||
// 0xa4, 0xff, 0x95, 0x27, 0x4c, 0xa3, 0xe7, 0xe5, 0xc6, 0x54, 0x19, 0x79, 0x49, 0x9f, 0x5b,
|
||||
// 0x85, 0xde,
|
||||
// ];
|
||||
|
||||
print!("SHA3-256: ");
|
||||
for i in 0..32 {
|
||||
print!("{:#001x} ", res[i]);
|
||||
print!("{:x}", res[i]);
|
||||
}
|
||||
println!();
|
||||
|
||||
assert!(res == expected_res);
|
||||
println!("FUNCIONAAAAA");
|
||||
println!("Time taken: {} ms", elapsed / 1000_f32);
|
||||
|
||||
// assert!(res == expected_res);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user