4个版本
| 0.0.3 | 2023年10月22日 |
|---|---|
| 0.0.2 | 2023年10月14日 |
| 0.0.1 | 2023年10月14日 |
| 0.0.0 | 2023年10月13日 |
#5 在 #sha3
在 xkcp-rs 中使用
2.5MB
69K SLoC
xkcp-rs
到eXtended Keccak Code Package (XKCP)库的绑定和包装。
[!IMPORTANT] xkcp-rs API 将 永远不会 被视为稳定,并且可以在没有任何预先警告的情况下随时更改。
需求
在Linux或macOS上构建,需要以下工具
目前不支持Windows。
使用cc-rs选择CC标志。有关如何外部配置cc-rs的说明,请参阅他们的文档。
XKCP目标
XKCP目标通过CARGO_*环境变量自动选择。可以使用功能标志(见下文)或使用XKCP_RS_TARGET环境变量直接指定XKCP目标来覆盖此行为。
有关更多详细信息,请参阅XKCP文档。
用法
Cargo.toml:
[dependencies]
xkcp-rs = "0.0.2"
src/main.rs:
fn main() {
let mut output = [0u8; 32];
xkcp_rs::sha3_256(b"Hello, World!", &mut output);
println!("{output:x?}");
}
功能标志
xkcp-rs仅
std:启用仅std功能,如std::error::Error的实现。默认启用。
xkcp-rs和xkcp-sys
avr8:强制为AVR8(8位AVR) XKCP目标构建。force-compact:强制为compactXKCP目标构建。**警告**:这通常比其他任何东西都要慢得多。force-generic:强制为generic32或generic64XKCP目标构建。如果不为32位或64位架构构建,则回退到compact。generic-lc:使用generic{32,64}lc XKCP 目标,而不是generic{32,64}。
支持的 Rust 版本
xkcp-rs 将保持至少 6 个月的滚动 MSRV(最低支持 Rust 版本)政策。当提高 MSRV 时,新的 Rust 版本必须至少在六个月前发布。当前的 MSRV 是 1.65.0。
请注意,MSRV 不会自动提高,并且仅在次要版本中作为一部分。
许可证
xkcp-rs 重新分发 XKCP 库,libXKCP,大部分发布为 公有领域,并与 CC0 行为相关联,但有一些例外。请参阅 LICENSE 文件获取更多信息。
无运行时依赖
~0–2MB
~39K SLoC