6 个版本
0.3.0 | 2023年7月19日 |
---|---|
0.2.1 | 2023年5月3日 |
0.1.6 | 2022年10月13日 |
0.1.2 | 2022年8月25日 |
#397 在 加密学 中
每月 153 次下载
在 3 个库中使用(通过 wnfs)
91KB
1K SLoC
此库实现了跳步螺旋论文。跳步螺旋是一种用于生成保持向后保密性的密钥的数据结构。与哈希链不同,此数据结构能够高效地在哈希计数上进行大跳跃。
大纲
使用方法
创建并推进新的螺旋。
use skip_ratchet::Ratchet;
let mut ratchet = Ratchet::new();
ratchet.inc_by(10);
println!("{:?}", ratchet.derive_key());
获取螺旋的早期版本。
use skip_ratchet::Ratchet;
let mut old_ratchet = Ratchet::new();
old_ratchet.inc_by(5);
let mut recent_ratchet = old_ratchet.clone();
recent_ratchet.inc_by(10);
for revision in recent_ratchet.previous(&old_ratchet, 10).unwrap() {
println!("{:#?}", revision);
}
构建项目
-
克隆仓库。
git clone https://github.com/WebNativeFileSystem/rs-skip-ratchet.git
-
更改目录
cd rs-skip-ratchet
-
构建项目
cargo build
测试项目
-
运行测试
cargo test
贡献
预提交钩子
此库建议使用 pre-commit 运行预提交钩子。请在每次提交和/或推送之前运行此命令。
- 安装后,运行
pre-commit install
以在本地设置预提交钩子。这将减少失败的 CI 构建。 - 如果您在本地上进行中间提交,并且出于某种原因不希望预提交钩子触发,可以运行
git commit -a -m "Your message here" --no-verify
。
常规提交
此项目 轻微 遵循 常规提交约定,以帮助解释提交历史并与其他发布流程相结合。完整规范可在此处找到。我们建议使用 fix
、feat
、docs
、ci
、refactor
等前缀您的提交,结构如下所示
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
获取帮助
对于使用问题、用例或问题,请通过我们的 Discord webnative-fs 频道联系我们。我们很乐意尝试回答您的问题或尝试在 Github 上创建一个新问题。
许可证
本项目采用 Apache License 2.0 许可。
依赖项
~2MB
~53K SLoC