1个不稳定版本
新 0.2.0 | 2024年8月14日 |
---|
#926 in 算法
44 每月下载量
47KB
653 行
这是新的最快便携式哈希:免受盲乘法影响,甚至比wyhash更快,SMHasher3通过。
请参阅仓库获取详细信息。
使用方法
let seed: u64 = 42;
let one_shot = museair::hash_128("MuseAir hash!".as_bytes(), seed);
let streamed = {
let mut hasher = museair::Hasher::with_seed(seed);
hasher.write("MuseAir".as_bytes());
hasher.write(" hash!".as_bytes());
hasher.finish_128()
};
assert_eq!(one_shot, streamed);
基准测试
哈希 | 摘要长度 | 吞吐量 |
---|---|---|
MuseAir | 64位 | 29.1 GiB/s (0.88) |
MuseAir-128 | 128位 | 29.0 GiB/s (0.88) |
MuseAir-BFast | 64位 | 33.0 GiB/s (1.00) |
MuseAir-BFast-128 | 128位 | 33.0 GiB/s (1.00) |
WyHash | 64位 | 29.0 GiB/s (0.88) |
WyHash-condom | 64位 | 24.3 GiB/s (0.74) |
KomiHash | 64位 | 27.7 GiB/s (0.84) |
(这些结果是通过在AMD Ryzen 7 5700G 4.6GHz台式机上运行 cargo bench
获得的。)
安全性
MuseAir 不 旨在提供加密安全性。
- 为了抵御HashDoS,您的哈希必须包含一个私有种子。
- 为确保数据保护,建议使用SHA-3等成熟算法。
版本策略
-Standard
变体(在crate根目录中列出的函数)将在1.0.0版本发布之前不计划稳定。也就是说,哈希的结果可能会从次要版本到次要版本发生变化。请勿用于持久化存储。
-BFast
变体永远不会稳定,您应该仅在本地会话中使用它。对于持久化存储,您应该始终使用 -Standard
变体(在它稳定后)。