跨平台,跨.NET版本的哈希函数

时间:2013-06-26 06:43:45

标签: c# hash cross-platform hashcode

我需要一个跨平台,跨.NET版本的哈希函数。 请注意,大多数\任何常规哈希可能会在不同的计算机上产生不同的结果,可能是由于操作系统上的不同设置,使用的编译器,32 \ 64位等。

我需要的是一个全方位的C#方法,它会对一个字符串进行哈希处理,但是当我在参与我的系统的许多机器上生成时,哈希值都是相同的。 (它们都使用.NET 3.5及更高版本。)

1 个答案:

答案 0 :(得分:7)

如果性能不是问题,请尝试使用.NET Framework库附带的加密哈希函数之一: MD5,SHA256RIPEMD160 。如果性能是一个问题,你可能会选择像 MurMurHash3 这样的东西。所有这些仅取决于输入。

(如果您想出于安全目的而哈希,值得注意的是,您应该只使用加密哈希函数,而MD5older versions of SHA已知已知漏洞,应该避免使用。)