您的位置:首页 > 其它

.Net框架下的加密解密算法大全

2010-12-08 18:05 253 查看
该文章将会不断的收入.net下的加密算法,这些算法将会采用策略模式来统一管理。
using System;
using System.Collections.Generic;
using System.Text;

namespace EncryptAndDecrypt
{
    public interface IEncrytAndDecrypt
    {
       string Encrypt(string data);
       string Decrypt(string data);
    }
}

策略接口
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace EncryptAndDecrypt
{
   public class TripleDesCrypt:IEncrytAndDecrypt
    {
       private byte[] rgbKey;
       private byte[] rgbIv;
       public TripleDesCrypt()
       { 
        rgbKey = new byte[130];
         rgbIv = new byte[130];
         for (int i = 0; i < 130; i++)
         {
             rgbKey[i] = rgbIv[i] = (byte)(new Random().Next(1, 255));
         }
       
       }

       #region IEncrytAndDecrypt 成员

       public string Encrypt(string data)
        {
            TripleDESCryptoServiceProvider tripleDes=new TripleDESCryptoServiceProvider();
            
            MemoryStream mstream = new MemoryStream();
            CryptoStream cstream = new CryptoStream(mstream, tripleDes.CreateEncryptor(rgbKey, rgbIv), CryptoStreamMode.Write);
            StreamWriter sw = new StreamWriter(cstream);
            sw.WriteLine(data);
            cstream.Close();
            byte[] result = mstream.ToArray();
            mstream.Close();
            return Convert.ToBase64String(result);

        }

        public string Decrypt(string data)
        {
            TripleDESCryptoServiceProvider tripleDes = new TripleDESCryptoServiceProvider();
            MemoryStream mstream = new MemoryStream(Convert.FromBase64String(data));
            CryptoStream cstream = new CryptoStream(mstream, tripleDes.CreateDecryptor(rgbKey, rgbIv), CryptoStreamMode.Read);
            StreamReader sr = new StreamReader(cstream);
            string result = sr.ReadLine();
            sr.Close();
            cstream.Close();
            mstream.Close();
            return result;
        }

        #endregion
    }
}

TripleDES加密算法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: