1个不稳定版本
0.2.0 | 2024年4月3日 |
---|---|
0.1.0 |
|
#523 in 数学
19KB
220 代码行
voicecode
为“生产可追溯性倡议”标签提供的voice code哈希器
参考: https://producetraceability.org/voice-pick-code-calculator/
此结构用于存储要哈希的所有输入部分以及结果输出。
请注意,示例实现返回区分大小写的输出,因此如果您的批号代码可能是混合大小写,请小心。
GTIN 123456789012和批号LOT123,包装日期为2003-01-02的示例
let voice_code = HashVoiceCode::new("123456789012", "LOT123", "01", "02", "03").unwrap();
println!("Voice Code: {}", voice_code.voice_code); // expects 8812
println!("Minor: {}", voice_code.voice_code_minor); // expects 88
println!("Major: {}", voice_code.voice_code_major); // expects 12
if let Some(date) = chrono::NaiveDate::from_ymd_opt(2003, 1, 2) {
let voice_code = HashVoiceCode::new_naive("123456789012", "LOT123", date);
println!("Voice Code: {}", voice_code.voice_code); // expects 8812
println!("Minor: {}", voice_code.voice_code_minor); // expects 88
println!("Major: {}", voice_code.voice_code_major); // expects 12
}
依赖关系
~3–4.5MB
~72K SLoC