首页 > 代码库 > [转]CryptographyHelper.cs

[转]CryptographyHelper.cs

using System;using System.IO;using System.Security.Cryptography;using System.Text;public class CryptographyHelper{    private static string sKey = "12345679";    private static string sIV = "ABCDEFGH";    /// <summary>    /// 进行DES加密。    /// </summary>    /// <param name="pToEncrypt">要加密的字符串。</param>    /// <param name="sKey">密钥,且必须为8位。</param>    /// <returns>以Base64格式返回的加密字符串。</returns>    public static string Encrypt(string pToEncrypt)    {        if (string.IsNullOrEmpty(pToEncrypt))            return string.Empty;        using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())        {            byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);            des.IV = ASCIIEncoding.ASCII.GetBytes(sIV);            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 static string Decrypt(string pToDecrypt)    {        if (string.IsNullOrEmpty(pToDecrypt))            return string.Empty;        byte[] inputByteArray = Convert.FromBase64String(pToDecrypt.Replace(" ", "+"));        using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())        {            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);            des.IV = ASCIIEncoding.ASCII.GetBytes(sIV);            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;        }    }}

 

[转]CryptographyHelper.cs