1 个不稳定版本
0.1.0 | 2018年11月29日 |
---|
#13 in #crypt
12KB
102 行
Crypt3
Crypt3 是 unix crypt 函数的 Rust 版本。
许可证
许可协议为以下之一
- Apache License,版本 2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
lib.rs
:
这个包是 Linux crypt 命令的克隆。它是对 crypt 中使用的加密算法的封装,包括 Md5、Blowfish、SHA256 和 SHA512。算法的选择基于密钥的前三个字符。如果它以 $x$
开头,其中 x 是 1、2、3、5 或 6 中的一个。
在这个版本(0.1)之前,只支持 MD5($1$)、SHA256 ($5$) 和 SHA512 ($6$)。
安全警报
此软件包提供与要求使用 MD5 的协议和系统互操作的目的。然而,MD5 应被认为是加密上已损坏且不适用于进一步使用。MD5 的碰撞攻击既实用又简单,已发现针对 MD5 的理论攻击。RFC6151 建议不要设计任何基于 MD5 的新的协议,包括 HMAC-MD5。
安装
要将 crypt 添加到您的包中,请将以下内容添加到您的 Cargo.toml 中
[dependencies]
crypt3 = "0.1"
示例
use crypt3::crypt;
let digest = crypt(b"abcdefghijklmnop", b"$1$");
assert_eq!(digest.unwrap(), [36, 49, 36, 36, 29, 100, 220, 226, 57, 196, 67, 123, 119, 54, 4, 29, 176, 137, 225, 185]);
依赖关系
~5.5MB
~197K SLoC