Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 是否有任何经典的3字节指纹功能?_Hash_Checksum_Fingerprint_24 Bit - Fatal编程技术网

Hash 是否有任何经典的3字节指纹功能?

Hash 是否有任何经典的3字节指纹功能?,hash,checksum,fingerprint,24-bit,Hash,Checksum,Fingerprint,24 Bit,我需要一个用于短字符串(比如16到256字节)的校验和/指纹函数,它适合24位字。有什么众所周知的算法吗?最简单的方法是进行基本校验和-将字符串mod(2^24)中的字节相加 不过,在转换为字节时,您必须注意字符集问题,因此每个人都同意将字符编码为字节。我建议使用24位CRC作为简单的解决方案。CRC可用于所有长度,且始终易于计算。维基百科有一个匹配的条目。由于交换字符很可能会产生不同的CRC,因此其质量远远优于模减和 下一步(如果使用相同校验和的错误字符串是一个真正的威胁)将是一个类似CMAC

我需要一个用于短字符串(比如16到256字节)的校验和/指纹函数,它适合24位字。有什么众所周知的算法吗?

最简单的方法是进行基本校验和-将字符串mod(2^24)中的字节相加


不过,在转换为字节时,您必须注意字符集问题,因此每个人都同意将字符编码为字节。

我建议使用24位CRC作为简单的解决方案。CRC可用于所有长度,且始终易于计算。维基百科有一个匹配的条目。由于交换字符很可能会产生不同的CRC,因此其质量远远优于模减和


下一步(如果使用相同校验和的错误字符串是一个真正的威胁)将是一个类似CMAC的加密MAC。虽然这本书太长了,但可以通过使用前24位来减少。

您使用的是什么语言/平台?为什么是24位?你想做什么?C++、java和Python,但是它需要在最流行的编程语言中实现,比如JavaScript、C语言、RuBube等等。因为我的应用程序有空间,而我的应用程序需要为短字符串生成指纹。除了输入的性质外,为什么这些细节很重要?