AES加密

in Develop


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

0 Comments

Leave a Reply

Using Gravatars in the comments - get your own and be recognized!

XHTML: These are some of the tags you can use: <a href=""> <b> <blockquote> <code> <em> <i> <strike> <strong>