#哈希 #哈希 #固定长度 #算法 #哈希值

hash-algorithms

哈希,通常翻译为哈希、散列或转写为哈希,是通过哈希算法将任意长度的输入(也称为前像)转换为固定长度的输出,输出是哈希值。这种转换是一种压缩映射,即哈希值的空间通常远小于输入空间,不同的输入可能散列到相同的输出,因此无法从哈希值中确定唯一的输入值。简而言之,它是一种将任意长度的消息压缩为固定长度消息摘要的函数。

1个不稳定版本

0.1.0 2021年6月12日

1473算法

Download history 199/week @ 2024-03-13 175/week @ 2024-03-20 189/week @ 2024-03-27 183/week @ 2024-04-03 172/week @ 2024-04-10 132/week @ 2024-04-17 116/week @ 2024-04-24 61/week @ 2024-05-01 127/week @ 2024-05-08 131/week @ 2024-05-15 120/week @ 2024-05-22 92/week @ 2024-05-29 66/week @ 2024-06-05 53/week @ 2024-06-12 144/week @ 2024-06-19 131/week @ 2024-06-26

每月410 次下载

MIT 协议

10KB
203

hash-algorithms

描述

哈希,通常翻译为哈希、散列或转写为哈希,是通过哈希算法将任意长度的输入(也称为前像)转换为固定长度的输出,输出是哈希值。这种转换是一种压缩映射,即哈希值的空间通常远小于输入空间,不同的输入可能散列到相同的输出,因此无法从哈希值中确定唯一的输入值。简而言之,它是一种将任意长度的消息压缩为固定长度消息摘要的函数。

如何使用

fn main() {
    let hello = "hello";
    println!("additive_hash {}", additive_hash(hello, 131));
    println!("rotating_hash {}", rotating_hash(hello, 131));
    println!("one_by_one_hash {}", one_by_one_hash(hello));
    println!("bernstein {}", bernstein(hello));
    println!("int_hash {}", int_hash(73));
    // println!("{}", rs_hash(hello));
    println!("js_hash {}", js_hash(hello));
    println!("pjw_hash {}", pjw_hash(hello));
    println!("elf_hash {}", elf_hash(hello));
    println!("sdbm_hash {}", sdbm_hash(hello));
    println!("djb_hash {}", djb_hash(hello));
    println!("djb_hash {}", dek_hash(hello));
    println!("ap_hash: {}", ap_hash(hello));
    println!("java_hash {}", java_hash(hello));
}

许可

本库采用MIT许可。有关详细信息,请参阅LICENSE。

无运行时依赖