将整数散列为字母数字而不发生冲突

Hashing integers to alphanumeric with no collision

您知道将长数字字符串转换为较短字母数字的哈希方法吗?我需要从 3 个字符串中获取一个最大长度为 10 的唯一字符串,总共 33 个数字。

您不能将所有可能的长度为 33 的十进制序列 1:1 映射到长度为 10 的具有合理字母大小的字母数字字符串(您需要字母大小为 2000:10^33 = x^10 => x~1996 )

但是对于十进制序列的有限已知集 - 您可以计算perfect hash并在适当的系统中表示哈希值(例如:在36基数中使用0..9, A..Z 个字符)