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日 |
#3 in #sha3
2.5MB
69K SLoC
xkcp-rs
对eXtended Keccak Code Package (XKCP)库的绑定和封装。
[!重要] 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
:强制为compact
XKCP目标构建。**警告**:这通常比其他任何东西都要慢得多。force-generic
:强制为generic32
或generic64
XKCP 目标进行构建。如果不是为 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