復制代碼 代碼如下:
System.Security.Cryptography.MD5
System.Security.Cryptography.MD5CryptoServiceProvider()
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource, "MD5")
復制代碼 代碼如下:
System.Security.Cryptography.SHA1
System.Security.Cryptography.SHA1CryptoServiceProvider()
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource, "SHA1")
復制代碼 代碼如下:
/**//// <summary>
/// 方法一:通過使用 new 運算符創建對象
/// </summary>
/// <param>需要加密的明文</param>
/// <returns>返回16位加密結果,該結果取32位加密結果的第9位到25位</returns>
public string Get_MD5_Method1(string strSource)
{
//new
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
//獲取密文字節數組
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strSource));
//轉換成字符串,并取9到25位
string strResult = BitConverter.ToString(bytResult, 4, 8);
//轉換成字符串,32位
//string strResult = BitConverter.ToString(bytResult);
//BitConverter轉換出來的字符串會在每個字符中間產生一個分隔符,需要去除掉
strResult = strResult.Replace("-", "");
return strResult;
}
/**//// <summary>
/// 方法二:通過調用特定加密算法的抽象類上的 Create 方法,創建實現特定加密算法的對象。
/// </summary>
/// <param>需要加密的明文</param>
/// <returns>返回32位加密結果</returns>
public string Get_MD5_Method2(string strSource)
{
string strResult = "";
//Create
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
//注意編碼UTF8、UTF7、Unicode等的選擇
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strSource));
//字節類型的數組轉換為字符串
for (int i = 0; i < bytResult.Length; i++)
{
//16進制轉換
strResult = strResult + bytResult[i].ToString("X");
}
return strResult;
}
/**//// <summary>
/// 方法三:直接使用HashPasswordForStoringInConfigFile生成
/// </summary>
/// <param>需要加密的明文</param>
/// <returns>返回32位加密結果</returns>
public string Get_MD5_Method3(string strSource)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource, "MD5");
}
新聞熱點
疑難解答
圖片精選