您的位置:首页 > 编程语言 > C#

AES  加密解密 c#

2011-09-21 11:33 197 查看
private const string PASSWORD = "P1e@s3Chang3thi2";
private const string INITVECTOR = "!n1t1@liz3Vector";

public static string AesEncrypt(this string value)
{
return AesEncrypt(value, PASSWORD);
}

public static string AesEncrypt(this string value, string password)
{
using (Aes aes = Aes.Create())
{
var encryptor = aes.CreateEncryptor(Encoding.ASCII.GetBytes(password), Encoding.ASCII.GetBytes(INITVECTOR));

using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(value);
}

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

public static string AesDecrypt(this string value)
{
return AesDecrypt(value, PASSWORD);
}

public static string AesDecrypt(this string value, string password)
{
using (Aes aes = Aes.Create())
{
var decryptor = aes.CreateDecryptor(Encoding.ASCII.GetBytes(password), System.Text.Encoding.ASCII.GetBytes(INITVECTOR));

using (MemoryStream msDecrypt = new MemoryStream(Convert.FromBase64String(value)))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
return srDecrypt.ReadToEnd();
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  加密 解密 c# byte vector