這是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 –