一个简单实用的字符串加密解密类

来源:互联网 发布:win8网络初始化失败 编辑:程序博客网 时间:2024/05/16 06:33

下面是我根据"Microsoft .NET 中的简化加密"一文,提炼出的一个简单实用的加密解密类

#region 文件说明
/***************************************************************************
 * * 文件名:PageBase.cs
 * * 日  期:2004-07-27
 * * 描  述:本类完成对字符串的加密和解密操作。
 * *
 * * 修改人:
 * * 日  期:
 * * 描  述:
 * *
 * * 版  本:1.0.0
 *************************************************************************** */
#endregion
using System;
using System.Security.Cryptography;
using System.IO;
using System.Text;

namespace SDSPNDSC.Common
{
 /// <summary>
 /// 通过DES对称加密算法,完成对字符串的加密和解密操作。
 /// </summary>
 public class Encrypt
 {
  private SymmetricAlgorithm mCSP;
  private const string CIV ="kXwL7X2+fgM=";//密钥
  private const string CKEY ="FwGQWRRgKCI=";//初始化向量

  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());
  }

 }
}

 

原创粉丝点击