如何为字符串的不同排列生成唯一的哈希?

时间:2015-03-19 05:08:33

标签: string hash hashmap permutation

如果我将字母表中的每个字母分配给不同的素数并使用字母的产品,我将得到一个哈希函数,告诉我“abc”与“cba”相同。

我可以使用什么哈希函数,以便“abc”与“cba”不同?

1 个答案:

答案 0 :(得分:0)

最好的想法是坚持现有的哈希算法,例如 SHA-256

byte[] strBytes = System.Text.Encoding.UTF8.GetBytes(str);
byte[] hash = System.Security.Cryptography.SHA256.Create().ComputeHash(strBytes);

这将计算您输入的每个字符串唯一的哈希值。

旁注:交叉(2个字符串等于相同的哈希)是可能的,但非常极不可能!