1
/// <summary>
2
/// 加密方法
3
/// </summary>
4
/// <param name="data">要加密的字符串</param>
5
/// <param name="KEY_64">密钥</param>
6
/// <param name="IV_64">密钥</param>
7
/// <returns>加密后的字符串</returns>
8
public string Encode(string data,string KEY_64,string IV_64)
9
{
10
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
11
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
12
13
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
14
int i = cryptoProvider.KeySize;
15
MemoryStream ms = new MemoryStream();
16
CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);
17
18
StreamWriter sw = new StreamWriter(cst);
19
sw.Write(data);
20
sw.Flush();
21
cst.FlushFinalBlock();
22
sw.Flush();
23
return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);
24
25
}
/// <summary>2
/// 加密方法3
/// </summary>4
/// <param name="data">要加密的字符串</param>5
/// <param name="KEY_64">密钥</param>6
/// <param name="IV_64">密钥</param>7
/// <returns>加密后的字符串</returns>8
public string Encode(string data,string KEY_64,string IV_64)9
{10
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);11
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);12

13
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();14
int i = cryptoProvider.KeySize;15
MemoryStream ms = new MemoryStream();16
CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);17
18
StreamWriter sw = new StreamWriter(cst);19
sw.Write(data);20
sw.Flush();21
cst.FlushFinalBlock();22
sw.Flush();23
return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);24
25
}2.解密方法
1
/// <summary>
2
/// 解密方法
3
/// </summary>
4
/// <param name="data">要解密的字符串</param>
5
/// <param name="KEY_64">密钥</param>
6
/// <param name="IV_64">密钥</param>
7
/// <returns>解密后的字符串</returns>
8
public string Decode(string data,string KEY_64,string IV_64)
9
{
10
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
11
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
12
13
byte[] byEnc;
14
try
15
{
16
byEnc = Convert.FromBase64String(data);
17
}
18
catch
19
{
20
return null;
21
}
22
23
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
24
MemoryStream ms = new MemoryStream(byEnc);
25
CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);
26
StreamReader sr = new StreamReader(cst);
27
return sr.ReadToEnd();
28
}
/// <summary>2
/// 解密方法3
/// </summary>4
/// <param name="data">要解密的字符串</param>5
/// <param name="KEY_64">密钥</param>6
/// <param name="IV_64">密钥</param>7
/// <returns>解密后的字符串</returns>8
public string Decode(string data,string KEY_64,string IV_64)9
{ 10
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);11
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);12

13
byte[] byEnc;14
try15
{16
byEnc = Convert.FromBase64String(data);17
}18
catch19
{20
return null;21
}22

23
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();24
MemoryStream ms = new MemoryStream(byEnc);25
CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);26
StreamReader sr = new StreamReader(cst);27
return sr.ReadToEnd();28
}3。注意事项:加密时两个密钥和解密时两个密钥必须都相同,也就是四个都要一样,如
1
result=Encode(result,"VavicApp","VavicApp");
2
3
connString=Decode(connString,"VavicApp","VavicApp");
result=Encode(result,"VavicApp","VavicApp");2

3
connString=Decode(connString,"VavicApp","VavicApp");4.引用
1
using System.Security;
2
using System.Security.Cryptography;
using System.Security;2
using System.Security.Cryptography;
