use libcrux_traits::Digest as _;
// XXX: The tests in here are failing in wasm for some reason.
// #[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
#[ test]
fn sha256_kat_streaming() {
let mut digest = libcrux_sha2::Sha256::new();
let mut d = [0 u8; 32 ];
digest.update(b"libcrux sha2 256 tests" );
digest.finish(&mut d);
let expected = "8683520e19e5b33db33c8fb90918c0c96fcdfd9a17c695ce0f0ea2eaa0c95956" ;
assert_eq!(hex::encode(d), expected);
}
// #[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
#[ test]
fn sha256_kat_oneshot() {
let d = libcrux_sha2::sha256(b"libcrux sha2 256 tests" );
let expected = "8683520e19e5b33db33c8fb90918c0c96fcdfd9a17c695ce0f0ea2eaa0c95956" ;
assert_eq!(hex::encode(d), expected);
}
#[ test]
fn shaclone() {
let mut hasher_224 = libcrux_sha2::Sha224::new();
hasher_224.update(b"test 224" );
let mut hasher224_2 = hasher_224.clone();
hasher_224.update(b"more 224" );
hasher224_2.update(b"more 224" );
let mut digest = [0 u8; 28 ];
let mut digest_2 = [0 u8; 28 ];
hasher_224.finish(&mut digest);
hasher224_2.finish(&mut digest_2);
assert_eq!(digest, digest_2);
assert_eq!(digest, libcrux_sha2::sha224(b"test 224more 224" ));
let mut hasher_256 = libcrux_sha2::Sha256::new();
hasher_256.update(b"test 256" );
let mut hasher256_2 = hasher_256.clone();
hasher_256.update(b"more 256" );
hasher256_2.update(b"more 256" );
let mut digest = [0 u8; 32 ];
let mut digest_2 = [0 u8; 32 ];
hasher_256.finish(&mut digest);
hasher256_2.finish(&mut digest_2);
assert_eq!(digest, digest_2);
assert_eq!(digest, libcrux_sha2::sha256(b"test 256more 256" ));
let mut hasher_384 = libcrux_sha2::Sha384::new();
hasher_384.update(b"test 384" );
let mut hasher384_2 = hasher_384.clone();
hasher_384.update(b"more 384" );
hasher384_2.update(b"more 384" );
let mut digest = [0 u8; 48 ];
let mut digest_2 = [0 u8; 48 ];
hasher_384.finish(&mut digest);
hasher384_2.finish(&mut digest_2);
assert_eq!(digest, digest_2);
assert_eq!(digest, libcrux_sha2::sha384(b"test 384more 384" ));
let mut hasher_512 = libcrux_sha2::Sha512::new();
hasher_512.update(b"test 512" );
let mut hasher512_2 = hasher_512.clone();
hasher_512.update(b"more 512" );
hasher512_2.update(b"more 512" );
let mut digest = [0 u8; 64 ];
let mut digest_2 = [0 u8; 64 ];
hasher_512.finish(&mut digest);
hasher512_2.finish(&mut digest_2);
assert_eq!(digest, digest_2);
assert_eq!(digest, libcrux_sha2::sha512(b"test 512more 512" ));
}
Messung V0.5 in Prozent C=94 H=99 G=96
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland