这是SHA1变体的解决方案。
public static string GetSwcSHA1(string value)
{
SHA1 algorithm = SHA1.Create();
byte[] data = algorithm.ComputeHash(Encoding.UTF8.GetBytes(value));
string sh1 = "";
for (int i = 0; i < data.Length; i++)
{
sh1 += data[i].ToString("x2").ToUpperInvariant();
}
return sh1;
}
对于MD5你只需要算法变为:
MD5 algorithm = MD5.Create();
希望你不介意,只是要添加代码的变种VB.NET上面:
Public Shared Function CreateHash(saltAndPassword) As String
Dim Algorithm As SHA1 = SHA1.Create()
Dim Data As Byte() = Algorithm.ComputeHash(Encoding.UTF8.GetBytes(saltAndPassword))
Dim Hashed As String = ""
For i As Integer = 0 To Data.Length - 1
Hashed &= Data(i).ToString("x2").ToUpperInvariant()
Next
Return Hashed
End Function
HashPasswordForStoringInConfigFile是老了,有人建议更换替代那么他们必须知道第二个参数是不是“MD5”或“SHA1”?是的,我知道这篇文章是旧的,但我偶然发现它,因为我多年以来没有使用过'HashPasswordForStoringInConfigFile'。 SHA1盐+密码的替换是好的 - 但在2016年的这一点,坚持SHA1是一个坏主意,更不用说可怕的MD5 –