#random #hasher #hash

无std wyhash

Rust实现的WyHash快速便携的非加密哈希算法和随机数生成器

8个版本 (4个重大更新)

0.5.0 2020年12月17日
0.4.2 2020年11月7日
0.4.1 2020年6月28日
0.3.0 2019年6月2日
0.1.0 2019年3月12日

#496 in 算法

Download history 8761/week @ 2024-04-23 7671/week @ 2024-04-30 7871/week @ 2024-05-07 7222/week @ 2024-05-14 7917/week @ 2024-05-21 10298/week @ 2024-05-28 14557/week @ 2024-06-04 13795/week @ 2024-06-11 13522/week @ 2024-06-18 11925/week @ 2024-06-25 12019/week @ 2024-07-02 14621/week @ 2024-07-09 16261/week @ 2024-07-16 16374/week @ 2024-07-23 16502/week @ 2024-07-30 14231/week @ 2024-08-06

每月下载量66,486
45 个crate中使用 (23直接使用)

MIT/Apache

14KB
191

wyhash快速便携非加密哈希算法

crates.io Docs Build Status Coverage Status

Wang Yi的wyhash算法的Rust实现。

该哈希算法通过了SMHasher测试,随机数生成器通过了BigCrush和practrand测试。目前,它在SMHasher基准测试中是最快的算法(比t1ha和XXH3快)。请参阅此处

此外,此算法稳健、简单、便携(不需要硬件支持,可以在no_std环境中使用)且无依赖(除了来自rand_core的特性和方法)。

生成的哈希值相同(见测试)(见此处),尽管速度不同(欢迎PR)。

用法

use wyhash::WyHash;
use std::hash::Hasher;

fn main() {
  let mut hasher = WyHash::with_seed(3);
  hasher.write(&[0, 1, 2]);
  assert_eq!(0xcc24_2106_e707_6a48, hasher.finish());
}

请参阅文档中的哈希器和RNG的更多示例。

支持

有关问题、问题、功能请求和其他更改,请在github项目中提交问题。

最低支持的Rust版本 (MSRV)

此crate保证在稳定的Rust 1.36.0及以上版本上编译。它可能与旧版本兼容,但在任何新的补丁版本中可能会发生变化。

许可证

根据您的选择,许可为以下之一

贡献

除非您明确声明,否则您提交的任何贡献,根据Apache-2.0许可证定义,应按上述方式双重许可,而不附加任何额外条款或条件。

依赖

~48KB