#hash #sip-hash #bindings #function #portable #avx2 #faster

nightly no-std highwayhash

AVX2优化的SIP-like散列函数绑定

4个版本

使用旧Rust 2015

0.0.14 2018年9月4日
0.0.13 2017年8月25日
0.0.12 2017年8月25日
0.0.11 2017年2月8日
0.0.10 2017年1月31日

算法 中排名2023

每月下载37

Apache-2.0

215KB
4K SLoC

C++ 2.5K SLoC // 0.2% comments Visual Studio Project 879 SLoC Rust 335 SLoC // 0.0% comments Java 271 SLoC // 0.3% comments Visual Studio Solution 78 SLoC C 72 SLoC // 0.8% comments Shell 12 SLoC // 0.3% comments

highwayhash-rs

Rust对AVX2优化的SIP-like散列函数的绑定。此crate提供了对C++中实现的三个散列函数的绑定 这里

  • siphash:SIP散列函数的可移植实现,比参考实现快约2倍。
  • siphash13siphash的一个更快但更弱的变体。
  • highwayhash64:一个新的散列函数,使用AVX2指令混合输入。它比siphash快约5倍。初步密码分析在此提供。

对于highwayhash64,有三个实现:一个使用AVX2,另一个使用SSE4.1,第三个实现可移植,不依赖于特定的指令集。为了利用更快的实现,请确保在编译时启用指令集,使用RUSTFLAGS="-C target-cpu=native"或类似的命令。

状态

绑定处于早期阶段。目前应在Unix上工作,但仅在Linux上进行了测试。需要make和C++编译器来构建底层的C++库。需要nightly Rust编译器。

许可证

以下任一许可证下:

由你选择。

贡献

除非你明确说明,否则根据Apache-2.0许可证定义的,任何有意提交以包含在你工作的贡献,都将如上双许可,没有任何附加条款或条件。

无运行时依赖