2 个版本
0.1.9 | 2021年12月29日 |
---|---|
0.1.8 | 2021年6月27日 |
#6 in #zero-net
用于 2 crates
11KB
158 行
ZeruCrypt
ZeroNet/zerunet 的 Rust 加密接口。
该库是 zerunet 项目的一部分。它已从主项目分割出来,因为它可以用于构建需要签名字符数据(ZN客户端认为有效的数据)的程序。
注意
由于 bitcoin-rs 没有更新到 secp256k1 v0.17.2,因此已用 cratez 存储库中的更新版 crate 替换了这个依赖。当解决对 bitcoin crate 的依赖时,此更改可以撤销。
基准测试
Zerucrypt 尚未进行基准测试。如果您想帮忙:请联系 Ansho Rei([email protected])在 ZeroMe 或 ZeroMail 上!
验证
use zerucrypt::verify;
let data = "Testmessage";
let address = "1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN";
let signature = "G+Hnv6dXxOAmtCj8MwQrOh5m5bV9QrmQi7DSGKiRGm9TWqWP3c5uYxUI/C/c+m9+LtYO26GbVnvuwu7hVPpUdow=";
match verify(data, address, signature) {
Ok(_) => println!("Signature is a valid."),
Err(_) => println!("Signature is invalid."),
}
签名
use zerucrypt::sign;
let data = "Testmessage";
let private_key = "5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss";
match sign(data, private_key) {
Ok(signature) => println!("The signature is {}", signature),
Err(_) => println!("An error occured during the signing process"),
}
创建
use zerucrypt::create;
let (priv_key, pub_key) = create();
依赖关系
~9MB
~122K SLoC