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();
}
}
}
}
}
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#中使用DES和AES加密解密
- C#中RSA加密解密和签名与验证的实现
- C#加密解密
- C#.NET 加密解密:AES/DES/Base64/RSA/MD5/SHA256
- c# RSA 加密解密 java.net公钥私钥转换 要解密的模块大于128字节
- C#加密解密
- 一个字符串的加密和解密的例子c#
- java加密解密,c#加密解密
- C#.NET 加密解密:AES/DES/Base64/RSA/MD5/SHA256
- C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法
- AES加解密[C#实现AES加密解密]
- AES加密解密-iphone-C#
- Java和C#交叉加密解密方法(DES)
- c# 加密/解密 哈希
- C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- [加密]C#实现维吉尼亚加密与解密(解密前提为已知密匙)
- C# 设置Word文档保护(加密、解密、权限设置)
- C#中base64之加密解密
- JAVA和C# 3DES加密解密
- C#中加密与解密