7 个版本 (4 个稳定版本)
2.0.0 | 2024年1月7日 |
---|---|
1.1.0 | 2017年3月18日 |
1.0.1 | 2017年1月10日 |
0.2.0 | 2016年12月16日 |
0.1.0 | 2016年11月16日 |
#331 在 密码学
26KB
448 行
message_verifier
与 Rails 的 MessageVerifier 和 MessageEncryptor 兼容的消息验证器库。
简单来说,这个库提供了几个简单的接口用于消息签名和加密。这些接口在安全实现各种网络应用功能(如会话cookie或签名URL令牌)时非常有用。
这个库处理所有的格式化、编码和加密。它不处理序列化方面。思想是将原始字符串输入和输出到这个库中,并在另一个层面处理序列化。
文档
文档在 Docs.rs 上提供。
示例
示例目录包含两个 Rust 示例以及两个小的 Ruby 脚本,以展示此库与 ActiveSupport 之间的互操作性。
第一个 Rust 示例演示了消息签名和加密
$ cargo run --example generate_encrypt
eyJrZXkiOiJ2YWx1ZSJ9--fa115453dbb4a28277b1ba07ef4c7437621f5d72
MllIRUYvUFhjcXBpRk9NUWgvZ2s2UT09LS1NRmN2b2Y5SWJsaUpRNlptZFdwSlZRPT0=--2df97d947a5dc344de003715510002503fa059f1
第二个示例从 stdin 读取,并尝试验证第一行输入,并解密和验证第二行
$ cargo run --example generate_encrypt | cargo run --example verify_decrypt
Verified Message: {"key":"value"}
Decrypted Message: {"key":"value"}
我们可以将这两个 Rust 示例与 Ruby 脚本一起使用
$ cargo run --example generate_encrypt | ruby examples/verify_decrypt.rb
Verified message: {"key"=>"value"}
Decrypted message: {"key"=>"value"}
$ ruby examples/generate_encrypt.rb | cargo run --example verify_decrypt
Verified Message: {"key":"value"}
Decrypted Message: {"key":"value"}
支持的加密算法
- AES-CBC 与 HMAC-SHA1
- 256、192 或 128 位密钥
- AES-GCM
- 256、192 或 128 位密钥
如果您需要更多加密算法选项,请提出问题或提交 PR!
贡献者
依赖项
~5.5MB
~103K SLoC