2 个版本
0.1.1 | 2023年7月10日 |
---|---|
0.1.0 | 2023年7月10日 |
#1559 在 加密学
34 每月下载次数
110KB
2K SLoC
crabcrypt
欢迎使用 Crabcrypt,这是一个正在 Rust 中开发的全面加密库。
状态
该项目目前正在 开发中。目前,哈希功能已实现。
特性
以下是我们计划提供的一些主要特性
- 包括 MD2、MD4、MD5、SHA1、SHA224、SHA256、SHA384、SHA512 和 SM3 等一系列安全的哈希算法。
- 支持多种字符编码。
- 高级加密和解密方法的加密选项(开发中)。
- 为开发者提供高效便捷的 API。
已实现
哈希
Crabcrypt 提供一套哈希算法,包括
- MD2
- MD4
- MD5
- SHA1
- SHA224
- SHA256
- SHA384
- SHA512
- SM3
即将实现更多功能。请继续关注!
用法
以下是如何在 Crabcrypt 中使用哈希功能的示例
use crabcrypt::{
Algorithms,
BinaryToTextEncoding::Hex,
Hash
};
fn main() {
let hash_md5 = Hash::create(Algorithms::Md5)
.update(b"The quick brown fox jumps over the lazy dog")
.digest(Hex);
println!("MD5: {}", hash_md5);
let hash_sha1 = Hash::create(Algorithms::Sha1)
.update(b"The quick brown fox jumps over the lazy dog")
.digest(Hex);
println!("SHA-1: {}", hash_sha1);
let hash_sha256 = Hash::create(Algorithms::Sha256)
.update(b"The quick brown fox jumps over the lazy dog")
.digest(Hex);
println!("SHA-256: {}", hash_sha256);
let hash_sha512 = Hash::create(Algorithms::Sha512)
.update(b"The quick brown fox jumps over the lazy dog")
.digest(Hex);
println!("SHA-512: {}", hash_sha512);
let hash_sm3 = Hash::create(Algorithms::Sm3)
.update(b"The quick brown fox jumps over the lazy dog")
.digest(Hex);
println!("SM3: {}", hash_sm3);
// Create a mutable hash for the SHA256 algorithm
let mut hash_sha256_2 = Hash::create(Algorithms::Sha256);
// First update
hash_sha256_2.update(b"The quick brown fox ");
// Second update
hash_sha256_2.update(b"jumps over the lazy dog");
// Elsewhere in the code, the digest is calculated
let sha256_result_2 = hash_sha256_2.digest(Hex);
println!("SHA-256 (updated twice): {}", sha256_result_2);
}
贡献
由于 Crabcrypt 处于早期开发阶段,我们非常感谢任何和所有的贡献!无论是报告错误、建议新功能、改进文档还是编写代码,我们都欢迎所有贡献。
许可证
Crabcrypt 是 MIT 许可。