mac.rs 896 B

1234567891011121314151617181920212223242526272829
  1. #[cfg(not(feature = "reset"))]
  2. use digest::new_mac_test as new_test;
  3. #[cfg(feature = "reset")]
  4. use digest::new_resettable_mac_test as new_test;
  5. new_test!(blake2b_mac, "blake2b/mac", blake2::Blake2bMac512);
  6. new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2sMac256);
  7. #[test]
  8. fn blake2b_new_test() {
  9. use blake2::digest::{generic_array::GenericArray, KeyInit, Mac};
  10. fn run<T: Mac + KeyInit>(key: &[u8]) {
  11. const DATA: &[u8] = &[42; 300];
  12. let res1 = <T as Mac>::new(GenericArray::from_slice(key))
  13. .chain_update(DATA)
  14. .finalize()
  15. .into_bytes();
  16. let res2 = <T as Mac>::new_from_slice(&key)
  17. .unwrap()
  18. .chain_update(DATA)
  19. .finalize()
  20. .into_bytes();
  21. assert_eq!(res1, res2);
  22. }
  23. run::<blake2::Blake2sMac256>(&[0x42; 32]);
  24. run::<blake2::Blake2bMac512>(&[0x42; 64]);
  25. }