1 个不稳定版本

0.1.0 2018年11月29日

#13 in #crypt

Apache-2.0 OR MIT

12KB
102

Crypt3

Crypt3 是 unix crypt 函数的 Rust 版本。

许可证

许可协议为以下之一

任选其一。


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