#string #sha-256 #time #secret #initial #interval #serialization

bin+lib evolvingstring

基于SHA256创建演变字符串的Rust crate,具有序列化和基于时间的预测功能

1个不稳定版本

0.1.0 2023年11月19日

#2073编码

MIT 许可证

12KB
202 代码行

EvolutionString 库

EvolutionString 库是一个Rust crate,提供创建和管理演变字符串的功能,字符串的演变由基于初始字符串、密钥和时间间隔的SHA256哈希函数确定。

特性

  • 使用初始字符串、密钥和演变间隔创建EvolvingString的实例。
  • 根据自实例创建以来经过的时间计算字符串的当前状态。
  • 预测经过特定时间后字符串的状态。
  • 将EvolvingString实例序列化和反序列化为base64表示形式。

用法

要在Rust项目中使用EvolutionString库,请将以下内容添加到您的Cargo.toml文件中的[dependencies]

evolvingstring = "0.1.0"

然后您可以创建一个EvolvingString实例并使用其方法,如下所示

use evolvingstring::EvolvingString;

let es = EvolvingString::new("initial value", "secret key", 60);
let current_state = es.current();
let predicted_state = es.predict(120);
let b64_encoded = es.to_base64();
let es_from_b64 = EvolvingString::from_base64(&b64_encoded).unwrap();

将"初始值"和"密钥"替换为您自己的初始字符串和密钥,并选择合适的字符串演变间隔(以秒为单位)。

测试

库附带了一组广泛的测试,以确保实现功能的正确性。您可以使用cargo test命令运行测试。

作者

EvolutionString由Jesse McPherson维护([email protected])。有关任何问题或贡献,请直接联系作者。

许可证

本项目的许可证为MIT许可证 - 请参阅LICENSE文件以获取详细信息。

依赖项

~2.2–3MB
~64K SLoC