我正在寻找比MD5更好的加密方法。它必须是单向加密,因为我不想在加密中使用密钥。
答案 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可用作对消息进行签名的方法。
还有其他哈希算法,例如SHA1
和SHA256
,您可以在代码中使用它们而不是MD5。