任何单向加密方法都优于MD5? (。净)

时间:2011-08-11 10:34:18

标签: c# .net asp.net

我正在寻找比MD5更好的加密方法。它必须是单向加密,因为我不想在加密中使用密钥。

2 个答案:

答案 0 :(得分:3)

基本上MD5是哈希算法而不是加密算法。 你可以使用更稳定的SHA1

using(System.Security.Cryptography.SHA1 hash = System.Security.Cryptography.SHA1.Create())
{ 
   System.Text.ASCIIEncoding encoder = new System.Text.ASCIIEncoding();   
   byte[] combined = encoder.GetBytes(str);   
   hash.ComputeHash(combined);   
}

编辑:回复评论

System.Security.Cryptography.SHA1 Class

  

哈希用作表示大的固定大小的唯一值   数据量。如果是两组数据的哈希应该匹配   相应的数据也匹配。对数据的微小变化导致   散列中存在大的,不可预测的变化。

     

SHA1算法的散列大小为160位。

答案 1 :(得分:3)

MD5不是加密方法,因为在给定MD5哈希值的情况下无法解密消息。这是一个散列算法:给定一个任意消息,它计算它的'摘要'(因此算法名称)。

通过计算(消息+共享密钥)组合的MD5哈希,MD5可用作对消息进行签名的方法。

还有其他哈希算法,例如SHA1SHA256,您可以在代码中使用它们而不是MD5。