c# net 使用MD5.Create和MD5CryptoServiceProvider有什麼區別?
https://www.cnblogs.com/healer007/p/5062189.html
=======================================================================
public static class Md5
{
/// <summary>
/// 將content轉成Md5
/// </summary>
/// <param name="content">輸入的內容</param>
/// <returns>Md5的結果</returns>
public static string getMD5String(this string content)
{
var sb = new StringBuilder();
try
{
var md5 = new MD5CryptoServiceProvider();
// 加密後是一個字節類型的數組,這裡要注意編碼UTF8/Unicode等的選擇
byte[] bytValue = Encoding.UTF8.GetBytes(content);
byte[] bytHash = md5.ComputeHash(bytValue);
md5.Clear();
// 通過使用循環,將字節類型的數組轉換為字符串,此字符串是常規字符格式化所得
for (int i = 0; i < bytHash.Length; i++)
{
// 將得到的字符串使用十六進制類型格式。格式後的字符是小寫的字母,如果使用大寫(X)則格式後的字符是大寫字符
sb.Append(bytHash[i].ToString("X").PadLeft(2, '0'));
}
}
catch (Exception ex)
{
// Log.writeLogToFile(Log.LogFileType.ErrorMessage, "Md5.getMD5String(): " + ex.GetBaseException() + "," + ex.Message);
}
return sb.ToString();
}
}
=======================================================================
public static class Md5
{
/// <summary>
/// 將content轉成Md5
/// </summary>
/// <param name="content">輸入的內容</param>
/// <returns>Md5的結果</returns>
public static string getMD5String(this string content)
{
var sb = new StringBuilder();
try
{
var md5 = new MD5CryptoServiceProvider();
// 加密後是一個字節類型的數組,這裡要注意編碼UTF8/Unicode等的選擇
byte[] bytValue = Encoding.UTF8.GetBytes(content);
byte[] bytHash = md5.ComputeHash(bytValue);
md5.Clear();
// 通過使用循環,將字節類型的數組轉換為字符串,此字符串是常規字符格式化所得
for (int i = 0; i < bytHash.Length; i++)
{
// 將得到的字符串使用十六進制類型格式。格式後的字符是小寫的字母,如果使用大寫(X)則格式後的字符是大寫字符
sb.Append(bytHash[i].ToString("X").PadLeft(2, '0'));
}
}
catch (Exception ex)
{
// Log.writeLogToFile(Log.LogFileType.ErrorMessage, "Md5.getMD5String(): " + ex.GetBaseException() + "," + ex.Message);
}
return sb.ToString();
}
}
沒有留言:
張貼留言