700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ASP.NET加密算法(MD5/DES)

ASP.NET加密算法(MD5/DES)

时间:2024-08-14 21:52:42

相关推荐

ASP.NET加密算法(MD5/DES)

本文讲 的MD5和DES加密和解密算法

#region MD5算法

public string md5(string str, int code)

{

if (code == 16) //16位MD5加密(取32位加密的9~25字符)

{

return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);

}

if (code == 32) //32位加密

{

return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();

}

return "00000000000000000000000000000000";

}

#endregion

#region DESEncrypt DES加密

// <summary>

/// 进行DES加密。

/// </summary>

/// <param name="pToEncrypt">要加密的字符串。</param>

/// <param name="sKey">密钥,且必须为8位。</param>

/// <returns>以Base64格式返回的加密字符串。</returns>

public string DESEncrypt(string pToEncrypt, string sKey)

{

using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())

{

byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);

des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);

des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);

System.IO.MemoryStream ms = new System.IO.MemoryStream();

using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))

{

cs.Write(inputByteArray, 0, inputByteArray.Length);

cs.FlushFinalBlock();

cs.Close();

}

string str = Convert.ToBase64String(ms.ToArray());

ms.Close();

return str;

}

}

#endregion

#region DESDecrypt DES解密

/// <summary>

/// 进行DES解密。

/// </summary>

/// <param name="pToDecrypt">要解密的以Base64</param>

/// <param name="sKey">密钥,且必须为8位。</param>

/// <returns>已解密的字符串。</returns>

public string DESDecrypt(string pToDecrypt, string sKey)

{

byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);

using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())

{

des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);

des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);

System.IO.MemoryStream ms = new System.IO.MemoryStream();

using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))

{

cs.Write(inputByteArray, 0, inputByteArray.Length);

cs.FlushFinalBlock();

cs.Close();

}

string str = Encoding.UTF8.GetString(ms.ToArray());

ms.Close();

return str;

}

}

#endregion

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。