2个不稳定版本
0.1.0 | 2023年4月3日 |
---|---|
0.0.0 | 2023年3月3日 |
#2589 in 加密学
11KB
186 行
RustCrypto: belt-mac
纯Rust实现的belt-mac
。
示例
use belt_mac::{BeltMac, Mac};
use hex_literal::hex;
let key = [0x42; 32];
let msg = b"input message";
let expected_tag = hex!("9f5c9623b4eff8802195e81bcd841959");
// To get the authentication code:
let mut mac: BeltMac = BeltMac::new_from_slice(&key).unwrap();
mac.update(msg);
let tag = mac.finalize();
let tag_bytes = tag.into_bytes();
assert_eq!(&tag_bytes[..], &expected_tag[..]);
// To verify the message:
let mut mac: BeltMac = BeltMac::new_from_slice(&key).unwrap();
mac.update(b"input message");
mac.verify(&tag_bytes).unwrap();
最低支持的Rust版本
Rust 1.57 或更高。
最低支持的Rust版本可能会在未来更改,但将使用较小的版本号升级进行更改。
SemVer策略
- 此库的所有默认功能都受SemVer覆盖
- MSRV如上所述被视为SemVer的例外
许可
许可如下
任选其一。
贡献
除非您明确声明,否则您提交给作品的所有有意贡献,根据Apache-2.0许可证定义,将按上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~505KB
~11K SLoC