3个不稳定版本
0.2.1 | 2020年4月12日 |
---|---|
0.2.0 | 2020年4月12日 |
0.1.0 | 2020年4月12日 |
#2185 in 编码
20KB
377 行
接触追踪
本crate实现了苹果/谷歌接近接触追踪。
本实现的版本是2020年4月的初始参考规范。
特性
chrono
:为所有结构体添加时间戳操作(默认开启)serde
:添加serde支持(隐含base64
)base64
:通过Display
和FromStr
添加base64编码/解码
广播示例
要广播,需要一个追踪密钥和一个给定时间的滚动接近标识符(RPI)。RPI通常由每日追踪密钥创建,但有一个自动推导它的快捷方式
use contact_tracing::{TracingKey, DailyTracingKey, Rpi};
let tkey = TracingKey::unique();
let rpi = Rpi::for_now(&tkey);
感染检查示例
感染检查直接使用每日追踪密钥
use contact_tracing::{TracingKey, DailyTracingKey, Rpi};
// normally these would come from the internet somewhere
let tkey = TracingKey::unique();
let dtkey = DailyTracingKey::for_today(&tkey);
for (tin, rpi) in dtkey.iter_rpis().enumerate() {
// check your database of contacts against the TIN and RPIs generated
// for each daily tracing key downloaded. The TIN should be within
// some reasonable window of the timestamp you captured.
}
许可证:Apache-2.0
依赖项
~2.8–3.5MB
~65K SLoC