C#更快地生成MD5哈希值

时间:2012-03-19 12:45:56

标签: c#

我有一个项目,我给了一个数字在1到20亿之间的MD5哈希,我必须编写一个分布式程序,通过强力获取数字。我已经成功编写了这个程序并且它有效。我想知道是否有办法加快哈希的产生?

这是我当前生成哈希的函数:

    static string generateHash(string input)
    {
        MD5 md5Hasher = MD5.Create();
        byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
        StringBuilder sBuilder = new StringBuilder();
        for (int i = 0; i < data.Length; i++)
        {
            sBuilder.Append(data[i].ToString("x2"));
        }
        return sBuilder.ToString();
    }

感谢您的帮助

1 个答案:

答案 0 :(得分:10)

您可以使用BitConverter.ToString

static string generateHash(string input)
{
  MD5 md5Hasher = MD5.Create();
  byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
  return BitConverter.ToString(data);
}