在Java中,我可以这样做来计算HMAC:
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
//.......
Mac hmac = Mac.getInstance("some algorithm");
hmac.init(new SecretKeySpec("some secret", "some algorithm"));
byte[] res = hmac.doFinal(("some str").getBytes());
如何在Rust中做同样的事情?
答案 0 :(得分:6)
rust-crypto
似乎offer HMAC。使用它的正确方法是install Cargo,并添加
[dependencies.rust-crypto]
git = "https://github.com/DaGenix/rust-crypto"
到您的Cargo.toml。
看起来正确的API是使用您选择的密钥&拨打Hmac::new
。摘要(实现Digest
特征的任何内容都有效,例如Sha256
),通过input
提供数据,并使用result
提取结果(这些需要导入the Mac
trait
我找不到任何在线文档,但在添加依赖项后在本地代码库中运行cargo doc
会将rust-crypto
的文档构建到(IIRC)./target/doc/rust-crypto
。