#password-hashing #hashing #password-hash #password #hash #crypt

pw_hash

纯Rust编写的密码散列例程集合。由inejge创建的pwhash的分支。

2个版本

0.1.1 2024年8月1日
0.1.0 2024年8月1日

#1810 in 加密学

Download history 186/week @ 2024-07-27 32/week @ 2024-08-03

218 每月下载量

MIT 许可证

105KB
1.5K SLoC

pw_hash

密码散列和验证例程的集合。

这是目前未维护的 pwhash 的分支,具有更新的依赖项。

请参阅 文档 以获取API参考。

入门指南

将以下内容添加到您的 Cargo.toml 文件的 [dependencies] 部分:

pw_hash = "0.1"

示例

use pw_hash::bcrypt;

// Hash a password with default parameters.
let h_new = bcrypt::hash("password").unwrap();

// Verify a password against an existing hash.
let h = "$2y$05$bvIG6Nmid91Mu9RcmmWZfO\
         5HJIMCT8riNW0hEp8f6/FuA2/mHZFpe";
assert!(bcrypt::verify("password", h));

摘要

以下算法目前实现(按字母顺序排列):

  • bcrypt

  • bsdi_crypt

  • md5_crypt

  • sha1_crypt

  • sha256_crypt

  • sha512_crypt

  • unix_crypt

每个算法都位于其同名的模块中,并提供了以下接口:

  • verify():验证密码与散列值。

  • hash():使用默认的算法特定参数散列密码。

  • hash_with():使用自定义参数散列密码。

还有一个便利的模块 unix,它提供了函数 unix::crypt,一个 crypt(3) 兼容函数,以及 unix::verify

依赖项

~1MB
~22K SLoC