3 个版本
使用旧的 Rust 2015
0.1.2 | 2016 年 4 月 12 日 |
---|---|
0.1.1 | 2016 年 4 月 11 日 |
0.1.0 | 2016 年 4 月 8 日 |
#13 in #sha-512
31 个月下载量
用于 2 crates
2.5MB
2.5K SLoC
Octavo
高度模块化且可配置的纯 Rust 编写的哈希和加密库。
安装
[dependencies]
octavo = { git = "https://github.com/libOctavo/octavo" }
警告!!! Octavo 处于非常早期的开发阶段。存在大量的问题和漏洞,可能遭受各种攻击!请不要在生产代码中使用(目前还不行)!
贡献
你可以通过以下 3 种方式帮助此项目
- 帮助我编写代码!只需分叉,创建分支,编码并提交 pull-request。太棒了!
- 审计代码或使用它。如果你发现一个错误,只需提交一个问题,这也是很大的帮助。
- 在 Gratipay 上支持我们。
完全披露
如果你发现安全漏洞,请通过邮件 [email protected] 使用我的 PGP 密钥联系我。
许可证
查看 LICENSE 文件。
lib.rs
:
加密哈希函数原语
通过 维基百科
理想的加密哈希函数有四个主要特性
- 对于任何给定的消息,计算哈希值都很简单
- 从哈希值生成消息是不可行的
- 在不更改哈希值的情况下修改消息是不可行的
- 找到两个具有相同哈希值的不同消息是不可行的。
示例
计算 SHA-512 求和
use octavo_digest::Digest;
use octavo_digest::sha2::Sha512;
let mut result = vec![0; Sha512::output_bytes()];
let mut sha = Sha512::default();
sha.update(data);
sha.result(&mut result);
for byte in result {
print!("{:2x}", byte);
}
println!(" {}", data);