- public class EnryptClass
- {
- //加密算法
- /// <summary>
- /// 进行DES加密。
- /// </summary>
- /// <param name="pToEncrypt">要加密的字符串。</param>
- /// <param name="sKey">密钥,且必须为8位。</param>
- /// <returns>以Base64格式返回的加密字符串。</returns>
- public string Encrypt(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;
- }
- }
- /**/
- /// <summary>
- /// 进行DES解密。
- /// </summary>
- /// <param name="pToDecrypt">要解密的以Base64</param>
- /// <param name="sKey">密钥,且必须为8位。</param>
- /// <returns>已解密的字符串。</returns>
- public string Decrypt(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;
- }
- }
- }
C#加密解密
最新推荐文章于 2024-02-06 10:15:37 发布