如果我将字母表中的每个字母分配给不同的素数并使用字母的产品,我将得到一个哈希函数,告诉我“abc”与“cba”相同。
我可以使用什么哈希函数,以便“abc”与“cba”不同?
答案 0 :(得分:0)
最好的想法是坚持现有的哈希算法,例如 SHA-256 。
byte[] strBytes = System.Text.Encoding.UTF8.GetBytes(str);
byte[] hash = System.Security.Cryptography.SHA256.Create().ComputeHash(strBytes);
这将计算您输入的每个字符串唯一的哈希值。
旁注:交叉(2个字符串等于相同的哈希)是可能的,但非常极不可能!