Hash 是否有任何经典的3字节指纹功能?
我需要一个用于短字符串(比如16到256字节)的校验和/指纹函数,它适合24位字。有什么众所周知的算法吗?最简单的方法是进行基本校验和-将字符串mod(2^24)中的字节相加Hash 是否有任何经典的3字节指纹功能?,hash,checksum,fingerprint,24-bit,Hash,Checksum,Fingerprint,24 Bit,我需要一个用于短字符串(比如16到256字节)的校验和/指纹函数,它适合24位字。有什么众所周知的算法吗?最简单的方法是进行基本校验和-将字符串mod(2^24)中的字节相加 不过,在转换为字节时,您必须注意字符集问题,因此每个人都同意将字符编码为字节。我建议使用24位CRC作为简单的解决方案。CRC可用于所有长度,且始终易于计算。维基百科有一个匹配的条目。由于交换字符很可能会产生不同的CRC,因此其质量远远优于模减和 下一步(如果使用相同校验和的错误字符串是一个真正的威胁)将是一个类似CMAC
不过,在转换为字节时,您必须注意字符集问题,因此每个人都同意将字符编码为字节。我建议使用24位CRC作为简单的解决方案。CRC可用于所有长度,且始终易于计算。维基百科有一个匹配的条目。由于交换字符很可能会产生不同的CRC,因此其质量远远优于模减和
下一步(如果使用相同校验和的错误字符串是一个真正的威胁)将是一个类似CMAC的加密MAC。虽然这本书太长了,但可以通过使用前24位来减少。您使用的是什么语言/平台?为什么是24位?你想做什么?C++、java和Python,但是它需要在最流行的编程语言中实现,比如JavaScript、C语言、RuBube等等。因为我的应用程序有空间,而我的应用程序需要为短字符串生成指纹。除了输入的性质外,为什么这些细节很重要?