3个不稳定版本

0.2.1 2020年4月12日
0.2.0 2020年4月12日
0.1.0 2020年4月12日

#2185 in 编码

Apache-2.0

20KB
377

接触追踪

本crate实现了苹果/谷歌接近接触追踪。

本实现的版本是2020年4月的初始参考规范

特性

  • chrono:为所有结构体添加时间戳操作(默认开启)
  • serde:添加serde支持(隐含base64
  • base64:通过DisplayFromStr添加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