vs2005对称加密解密类

来源:互联网 发布:2017熊片数据库app 编辑:程序博客网 时间:2024/04/28 17:46
vs2005对称加密解密类

using System;
using System.Security.Cryptography;
using System.IO;
using System.Text;

namespace desc
{
  
  
        ///
        /// 通过DES对称加密算法,完成对字符串的加密和解密操作。
        ///
        public class Encrypt
        {
            private  SymmetricAlgorithm mCSP;
            private const string CIV = "creativeton=";//密钥
            private const string CKEY = "databaseenc=";//初始化向量

            public Encrypt()
            {
                mCSP = new DESCryptoServiceProvider();
            }

            public string EncryptString(string Value)
            {
                ICryptoTransform ct;
                MemoryStream ms;
                CryptoStream cs;
                byte[] byt;

                ct = mCSP.CreateEncryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV));

                byt = Encoding.UTF8.GetBytes(Value);

                ms = new MemoryStream();
                cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
                cs.Write(byt, 0, byt.Length);
                cs.FlushFinalBlock();

                cs.Close();

                return Convert.ToBase64String(ms.ToArray());
            }

            public  string DecryptString(string Value)
            {
                ICryptoTransform ct;
                MemoryStream ms;
                CryptoStream cs;
                byte[] byt;

                ct = mCSP.CreateDecryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV));

                byt = Convert.FromBase64String(Value);

                ms = new MemoryStream();
                cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
                cs.Write(byt, 0, byt.Length);
                cs.FlushFinalBlock();

                cs.Close();

                return Encoding.UTF8.GetString(ms.ToArray());
            }

        }
    }