FNV哈希生成器
生成FNV-1和FNV-1a哈希值,支持32位、52位和64位变体,非加密哈希函数
直接输入文本,将以UTF-8编码处理
关于FNV哈希
什么是FNV哈希?
FNV(Fowler-Noll-Vo)是由 Glenn Fowler、Landon Curt Noll 和 Kiem-Phong Vo 创建的非加密哈希函数。它于1991年首次发布,以其简单性、速度和良好的分布特性而闻名。FNV广泛用于哈希表、校验和和数据指纹。
算法变体
- FNV-1a: 改进版变体,先将字节与哈希进行异或运算,然后相乘。由于雪崩特性更好,推荐用于大多数场景。
- FNV-1: 原始变体,先相乘后异或。仍然有用,但通常首选FNV-1a。
可用位长度
- 32-bit: 8字符十六进制输出。快速,适用于中等数据量的哈希表。
- 52-bit: 13字符十六进制输出。针对JavaScript的53位安全整数范围优化。在速度和抗碰撞性之间取得良好平衡。
- 64-bit: 16字符十六进制输出。更大的哈希空间,降低大型数据集中的碰撞概率。
常见用途
- 哈希表和哈希映射,用于快速键查找
- 数据去重和内容指纹
- 数据完整性的校验和验证
- 布隆过滤器和概率数据结构
FNV哈希不是加密安全的。请勿将其用于密码、数字签名或安全敏感应用。加密用途请使用SHA-256或BLAKE2。