7个版本
0.1.3 | 2023年11月25日 |
---|---|
0.1.2 | 2023年11月25日 |
0.1.1 | 2023年11月25日 |
0.1.0 | 2023年11月19日 |
#793 in 加密学
每月37次下载
13KB
128 行
Transitions的密码类型
tag_password
是一个简单的Rust库,通过利用类型系统来静态确定密码哈希状态,从而增强安全性。这种方法确保了在您的代码中明文密码和哈希密码之间的清晰区分,从而可以采取更强大的安全措施。
特性
-
基于类型的密码标记:使用两种标记类型,Hashed和Plain,来区分哈希密码和明文密码。这些零大小的类型与PhantomData结合,便于在编译时检查密码状态。
-
Argon2哈希(可选):如果启用了argon2功能,该库将提供使用Argon2(一个安全的密码哈希算法)的哈希功能。
使用方法
使用Cargo将库添加到您的当前项目中
cargo add tag_password
然后创建一个新的密码并对其进行操作
use tag_password::Password;
// Create a new plain text password
let plain_password = Password::new("my_password");
// Hash the plain text password using Argon2
let hashed_password = plain_password
.hash(None, &salt)
.expect("Hashing should not fail.");
// Verify a hashed password against a plain text password
hashed_password
.verify(None, plain_password)
.expect("Verification should not fail.");
许可
本项目采用MIT许可证。
依赖关系
~1–13MB
~165K SLoC