首页 联系我 返回顶部
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

class RijndaelMemoryStream
{
    //static SymmetricAlgorithm key = Rijndael.Create();

    static SymmetricAlgorithm Key
    {
        get
        {
            SymmetricAlgorithm key = Rijndael.Create();
            key.Key = Encoding.ASCII.GetBytes(global.RijndaelMemoryStreamKey());  //密钥字串可在配置文件中定义
            key.IV = Encoding.ASCII.GetBytes(global.RijndaelMemoryStreamIv());   //密钥iv可以配置文件中定义
            return key;
        }
    }

    /// <summary>
    ///  aes加密
    /// </summary>
    /// <param name="PlainText">明文</param>
    /// <returns></returns>
    public static string Encrypt(string PlainText)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            using (CryptoStream encStream = new CryptoStream(ms, Key.CreateEncryptor(), CryptoStreamMode.Write))
            {
                using (StreamWriter sw = new StreamWriter(encStream))
                {
                    sw.Write(PlainText);
                }
            }
            return Convert.ToBase64String(ms.ToArray());
        }
    }
    /// <summary>
    /// aes解密
    /// </summary>
    /// <param name="CypherText">密文</param>
    /// <returns></returns>
    public static string Decrypt(string CypherText)
    {
        string str = "";
        using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(CypherText)))
        {
            using (CryptoStream encStream = new CryptoStream(ms, Key.CreateDecryptor(), CryptoStreamMode.Read))
            {
                using (StreamReader sr = new StreamReader(encStream))
                {
                    str= sr.ReadToEnd();
                }
            }
        }
        return str;
    }
}

相关文章

Write a comment:



(将显示你的Gravatar图标)  



[b][/b] - [i][/i] - [u][/u]- [quote][/quote]

:-/ ^_^ :d :o :kiss: :) :p :se: [yeah] :( :love: :han: :up: :cry: :zzz: o_o

暂时停止交换链接.

评论提交有问题?