Function 基于短字符串计算整数哈希键的CPAN模块

Function 基于短字符串计算整数哈希键的CPAN模块,function,hash,integer,cpan,Function,Hash,Integer,Cpan,我正在寻找一个需要短字符串的CPAN模块: my $hash_value = hash_this('short string not too long'); 并将其散列为整数键: say $hash_value; 12345671234 # an integer key 摘要::MD5应该可以工作: 使用二进制文件,您应该能够使用它进行转换: Math::BaseCnv如果您需要一个只有32位或64位长*的散列,也就是说,如果您需要计算机科学术语中使用的类型的散列,例如“”,而不是

我正在寻找一个需要短字符串的CPAN模块:

my $hash_value = hash_this('short string not too long');
并将其散列为整数键:

say $hash_value;

12345671234    # an integer key

摘要::MD5应该可以工作:

使用二进制文件,您应该能够使用它进行转换:


Math::BaseCnv

如果您需要一个只有32位或64位长*的散列,也就是说,如果您需要计算机科学术语中使用的类型的散列,例如“”,而不是一个(不能同时短而强),那么您可以使用CRC32或它的一个朋友

如果你需要一个加密性很强的散列函数,我现在会使用SHA-256

use String::CRC32;

$crc = crc32("some string");

*:我不知道perl整数值有多大,所以我可能错了

我写这篇文章就是为了解决这个问题。它从字符串生成一个廉价的散列,并可选地进行模运算以将字符串放入桶中。

我目前正在使用此方法,但我希望以整数形式输出:2345334$md5->摘要返回一个二进制,然后您只需将其转换为整数,或者是否存在其他问题?oct“0b$bin”中的“0b”是什么?如果EXPR以“0b”开头,则解释为二进制stringuse 5.10.0;使用摘要::MD5QW(MD5);我的$binary_key=md5(“某物”);说oct(“0b$binary_key”)#打印0