我有一个项目,涉及RS和HMAC 256 ... 512和base64。有没有办法在Rust中的这种算法中进行编码和解码?如果是这样,那么现在,在Rust开发阶段,他们是否安全?
答案 0 :(得分:4)
(通过RS'我假设您正在谈论RS256和兄弟姐妹,这是RFC7518中定义的标识符,用于使用RSA和SHA2的特定非对称加密套件功能。)
这三种算法差异很大:
HMAC是一种经常与对称加密一起使用的身份验证算法,它与摘要无关;所以你还需要一个digest / hash函数库。 rust-crypto是各种主流加密算法的纯Rust重新实现,例如AES,HMAC,SHA1 / 2。
RSA是用于公钥加密的密码系统。上面提到的rust-crypto有 plans 来支持它,但还没有。但是,OpenSSL支持它,因此您可以使用rust-openssl绑定。
Base64是二进制到文本编码(不加密)。 rustc-serialize库具有base64 implementation。
如何使用安全的问题是非常主观的,取决于您的用例,因此StackOverflow不是讨论的好地方。