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 }
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 }
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 }
3。注意事项:加密时两个密钥和解密时两个密钥必须都相同,也就是四个都要一样,如
1result=Encode(result,"VavicApp","VavicApp");
2
3connString=Decode(connString,"VavicApp","VavicApp");
2
3connString=Decode(connString,"VavicApp","VavicApp");
4.引用
1using System.Security;
2using System.Security.Cryptography;
2using System.Security.Cryptography;