短い文字列を取る CPAN モジュールを探しています。
my $hash_value = hash_this('short string not too long');
そして、それを整数キーにハッシュします。
say $hash_value;
12345671234 # an integer key
長さが 32 ビットまたは 64 ビットのみ* のハッシュが必要な場合、つまり、「ハッシュ テーブル」などのコンピューター サイエンス用語で使用されるタイプのハッシュが必要であり、暗号化の意味でのハッシュではなく(同時にそれほど短くて強いことはできません)CRC32またはその友人の1つを使用できます.
OTOH 暗号的に強力なハッシュ関数が必要な場合は、MD5 を避け、最近では SHA-256 を使用します。
use String::CRC32;
$crc = crc32("some string");
*: perl の整数値の大きさがわからないので、間違っているかもしれません
この正確な問題を解決するためにAlgorithm::Nhashを書きました。文字列から安価なハッシュを生成し、オプションでモジュロ演算を行って文字列をバケットに投入します。