6 个版本 (1 个稳定版)

1.0.0 2021年1月3日
0.3.1 2020年7月8日
0.3.0 2019年1月13日
0.2.0 2018年5月9日
0.1.1 2016年2月9日

#2 in #crypt

Download history 8817/week @ 2024-03-03 10377/week @ 2024-03-10 10729/week @ 2024-03-17 8871/week @ 2024-03-24 9923/week @ 2024-03-31 9221/week @ 2024-04-07 9648/week @ 2024-04-14 10196/week @ 2024-04-21 11866/week @ 2024-04-28 12152/week @ 2024-05-05 9863/week @ 2024-05-12 10866/week @ 2024-05-19 10186/week @ 2024-05-26 9733/week @ 2024-06-02 10580/week @ 2024-06-09 9301/week @ 2024-06-16

40,486 每月下载量
用于 21 个crate(15 个直接使用)

MIT 许可证

105KB
1.5K SLoC

pwhash

密码哈希和验证例程的集合。

有关API参考,请参阅文档

入门指南

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

pwhash = "1"

示例

use pwhash::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
~21K SLoC