#hashing #x11 #hash #bindings #sha-3 #algorithm #keccak

rs-x11-hash

Rust 对 x11 哈希算法的绑定

5 个版本

0.1.8 2023 年 7 月 5 日
0.1.7 2023 年 7 月 4 日
0.1.6 2023 年 6 月 22 日
0.1.4 2023 年 4 月 11 日
0.1.2 2022 年 12 月 19 日

#2518 in 魔力豆

Download history 1340/week @ 2024-03-13 503/week @ 2024-03-20 1017/week @ 2024-03-27 944/week @ 2024-04-03 609/week @ 2024-04-10 513/week @ 2024-04-17 839/week @ 2024-04-24 375/week @ 2024-05-01 697/week @ 2024-05-08 273/week @ 2024-05-15 931/week @ 2024-05-22 737/week @ 2024-05-29 1126/week @ 2024-06-05 536/week @ 2024-06-12 506/week @ 2024-06-19 660/week @ 2024-06-26

每月 3,043 次下载

MIT 许可证

115KB
127

rs-x11-hash

Rust 对 x11 哈希的绑定

在 JavaScript 中实现了用于 Dash 加密货币 的 x11 哈希算法。

x11 哈希算法依次使用

BLAKEBLUE MIDNIGHT WISH (BMW)
• Groestl
• JH
• Keccak (An algorithm whose variant gave rise to SHA-3)
• Skein
• Luffa
• CubeHash
• SHavite-3SIMDECHO

来自 DashSync 的 C 源代码

使用方法

将库作为 Cargo crate 安装。

$ cargo install rs-x11-hash

或作为 Cargo.toml 中的依赖项使用

[dependencies]
rs-x11-hash = "0.1.5"

引用库

use hex::{FromHex, ToHex};
let x11 = "020000002cc0081be5039a54b686d24d5d8747ee9770d9973ec1ace02e5c0500000000008d7139724b11c52995db4370284c998b9114154b120ad3486f1a360a1d4253d310d40e55b8f70a1be8e32300";
let x11_vec = Vec::from_hex(x11).unwrap();
let md = rs_x11_hash::get_x11_hash(x11_vec);
println!("input: {}", x11);
println!("output: {:?}", md.encode_hex::<String>());
assert_eq!(md.to_vec(), Vec::from_hex("f29c0f286fd8071669286c6987eb941181134ff5f3978bf89f34070000000000").unwrap())

依赖项

~0–2MB
~40K SLoC