我正在寻找一种比MD5更好的加密方法。它必须是单向加密,因为我不想在加密中使用密钥。
我正在寻找一种比MD5更好的加密方法。它必须是单向加密,因为我不想在加密中使用密钥。
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类
哈希用作表示大量数据的固定大小的唯一值。如果相应数据也匹配,则两组数据的哈希应该匹配。对数据进行小改动会导致哈希发生大而不可预测的变化。
SHA1算法的哈希大小为160位。
SHA1
是一个IDisposable
,因此您可能希望在使用它时将其包装在using
语句中。 - ZrutyMD5不是一种加密方法,因为您无法根据其MD5哈希解密消息。它是一种散列算法:给定任意消息,它计算其“摘要”(因此算法名称为MD5)。
可以通过计算(消息+共享密钥)组合的MD5哈希来将MD5用作签名消息的手段。
还有其他散列算法,例如SHA1
和SHA256
,您可以在代码中使用它们代替MD5。