1个不稳定发布

0.1.0 2024年7月11日

#30编程语言

Download history 3651/week @ 2024-07-09 7992/week @ 2024-07-16 7746/week @ 2024-07-23 8172/week @ 2024-07-30 8078/week @ 2024-08-06

33,269 每月下载量

Apache-2.0 OR MIT

52KB
871

rustc-stable-hash

crates.io Documentation

rustc使用的稳定哈希算法:跨平台、确定性的,但不安全。

该crate提供通过抽象处理字节序和目标usize/isize位大小差异,在不稳定哈希器上创建稳定哈希器的设施。

目前,该crate提供了自己的128位SipHasher实现:SipHasher128;以及用于稳定版本的StableSipHasher128

用法

use rustc_stable_hash::hashers::{StableSipHasher128, SipHasher128Hash};
use rustc_stable_hash::FromStableHash;
use std::hash::Hasher;

struct Hash128([u64; 2]);
impl FromStableHash for Hash128 {
    type Hash = SipHasher128Hash;

    fn from(SipHasher128Hash(hash): SipHasher128Hash) -> Hash128 {
        Hash128(hash)
    }
}

let mut hasher = StableSipHasher128::new();
hasher.write_usize(0xFA);

let hash: Hash128 = hasher.finish();

无运行时依赖

功能