该代码实现如下功能:
1 利用多种加密与解密的方式对数据进行加密与解密.
2 读取XML与写入XML实例.
运行图解如下
程序启动图1
DESEncrypt加密后
DESEncrypt解密前
DESEncrypt解密后
部分代码如下:
X8023Z_ENCODE
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Security.Cryptography;
6
7namespace X8023Z_ENCODE
8{
9 /**//// <summary>
10 /// Encrypt 的摘要说明。
11 /// 8023
12 /// </summary>
13 public class DEncrypt
14 {
15 /**//// <summary>
16 /// 构造方法
17 /// </summary>
18 public DEncrypt()
19 {
20 }
21
22 使用 给定密钥字符串 加密/解密string#region 使用 给定密钥字符串 加密/解密string
23 /**//// <summary>
24 /// 使用给定密钥字符串加密string
25 /// </summary>
26 /// <param name="original">原始文字</param>
27 /// <param name="key">密钥</param>
28 /// <param name="encoding">字符编码方案</param>
29 /// <returns>密文</returns>
30 public static string Encrypt(string original, string key)
31 {
32 byte[] buff = System.Text.Encoding.Default.GetBytes(original);
33 byte[] kb = System.Text.Encoding.Default.GetBytes(key);
34 return Convert.ToBase64String(Encrypt(buff, kb));
35 }
36 /**//// <summary>
37 /// 使用给定密钥字符串解密string
38 /// </summary>
39 /// <param name="original">密文</param>
40 /// <param name="key">密钥</param>
41 /// <returns>明文</returns>
42 public static string Decrypt(string original, string key)
43 {
44 return Decrypt(original, key, System.Text.Encoding.Default);
45 }
46
47 /**//// <summary>
48 /// 使用给定密钥字符串解密string,返回指定编码方式明文
49 /// </summary>
50 /// <param name="encrypted">密文</param>
51 /// <param name="key">密钥</param>
52 /// <param name="encoding">字符编码方案</param>
53 /// <returns>明文</returns>
54 public static string Decrypt(string encrypted, string key, Encoding encoding)
55 {
56 byte[] buff = Convert.FromBase64String(encrypted);
57 byte[] kb = System.Text.Encoding.Default.GetBytes(key);
58 return encoding.GetString(Decrypt(buff, kb));
59 }
60 #endregion
61
62
63 使用 给定密钥 加密/解密/byte[]#region 使用 给定密钥 加密/解密/byte[]
64
65 /**//// <summary>
66 /// 生成MD5摘要
67 /// </summary>
68 /// <param name="original">数据源</param>
69 /// <returns>摘要</returns>
70 public static byte[] MakeMD5(byte[] original)
71 {
72 MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
73 byte[] keyhash = hashmd5.ComputeHash(original);
74 hashmd5 = null;
75 return keyhash;
76 }
77
78
79 /**//// <summary>
80 /// 使用给定密钥加密
81 /// </summary>
82 /// <param name="original">明文</param>
83 /// <param name="key">密钥</param>
84 /// <returns>密文</returns>
85 public static byte[] Encrypt(byte[] original, byte[] key)
86 {
87 TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
88 des.Key = MakeMD5(key);
89 des.Mode = CipherMode.ECB;
90
91 return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);
92 }
93
94 /**//// <summary>
95 /// 使用给定密钥解密数据
96 /// </summary>
97 /// <param name="encrypted">密文</param>
98 /// <param name="key">密钥</param>
99 /// <returns>明文</returns>
100 public static byte[] Decrypt(byte[] encrypted, byte[] key)
101 {
102 TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
103 des.Key = MakeMD5(key);
104 des.Mode = CipherMode.ECB;
105 try
106 {
107 return des.CreateDecryptor().TransformFinalBlock(encrypted, 0, encrypted.Length);
108 }
109 catch
110 {
111 string strError = "The KEY is error,please Enter In the right KEY!";
112 byte[] error = Encoding.UTF8.GetBytes(strError);
113
114 // byte[] error=new byte[10000];
115 // error = System.Text.Encoding.ASCII.GetBytes(strError );
116 // Array.Copy(error, 0, error, 0, error.Length);
117 return error ;
118 }
119 }
120
121 #endregion
122
123 }
124}
125
有需要全部代码的请加入QQ群:60960278 加入者请说明理由,说明博客园ID.并遵守群规.谢谢合作!
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Security.Cryptography;
6
7namespace X8023Z_ENCODE
8{
9 /**//// <summary>
10 /// Encrypt 的摘要说明。
11 /// 8023
12 /// </summary>
13 public class DEncrypt
14 {
15 /**//// <summary>
16 /// 构造方法
17 /// </summary>
18 public DEncrypt()
19 {
20 }
21
22 使用 给定密钥字符串 加密/解密string#region 使用 给定密钥字符串 加密/解密string
23 /**//// <summary>
24 /// 使用给定密钥字符串加密string
25 /// </summary>
26 /// <param name="original">原始文字</param>
27 /// <param name="key">密钥</param>
28 /// <param name="encoding">字符编码方案</param>
29 /// <returns>密文</returns>
30 public static string Encrypt(string original, string key)
31 {
32 byte[] buff = System.Text.Encoding.Default.GetBytes(original);
33 byte[] kb = System.Text.Encoding.Default.GetBytes(key);
34 return Convert.ToBase64String(Encrypt(buff, kb));
35 }
36 /**//// <summary>
37 /// 使用给定密钥字符串解密string
38 /// </summary>
39 /// <param name="original">密文</param>
40 /// <param name="key">密钥</param>
41 /// <returns>明文</returns>
42 public static string Decrypt(string original, string key)
43 {
44 return Decrypt(original, key, System.Text.Encoding.Default);
45 }
46
47 /**//// <summary>
48 /// 使用给定密钥字符串解密string,返回指定编码方式明文
49 /// </summary>
50 /// <param name="encrypted">密文</param>
51 /// <param name="key">密钥</param>
52 /// <param name="encoding">字符编码方案</param>
53 /// <returns>明文</returns>
54 public static string Decrypt(string encrypted, string key, Encoding encoding)
55 {
56 byte[] buff = Convert.FromBase64String(encrypted);
57 byte[] kb = System.Text.Encoding.Default.GetBytes(key);
58 return encoding.GetString(Decrypt(buff, kb));
59 }
60 #endregion
61
62
63 使用 给定密钥 加密/解密/byte[]#region 使用 给定密钥 加密/解密/byte[]
64
65 /**//// <summary>
66 /// 生成MD5摘要
67 /// </summary>
68 /// <param name="original">数据源</param>
69 /// <returns>摘要</returns>
70 public static byte[] MakeMD5(byte[] original)
71 {
72 MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
73 byte[] keyhash = hashmd5.ComputeHash(original);
74 hashmd5 = null;
75 return keyhash;
76 }
77
78
79 /**//// <summary>
80 /// 使用给定密钥加密
81 /// </summary>
82 /// <param name="original">明文</param>
83 /// <param name="key">密钥</param>
84 /// <returns>密文</returns>
85 public static byte[] Encrypt(byte[] original, byte[] key)
86 {
87 TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
88 des.Key = MakeMD5(key);
89 des.Mode = CipherMode.ECB;
90
91 return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);
92 }
93
94 /**//// <summary>
95 /// 使用给定密钥解密数据
96 /// </summary>
97 /// <param name="encrypted">密文</param>
98 /// <param name="key">密钥</param>
99 /// <returns>明文</returns>
100 public static byte[] Decrypt(byte[] encrypted, byte[] key)
101 {
102 TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
103 des.Key = MakeMD5(key);
104 des.Mode = CipherMode.ECB;
105 try
106 {
107 return des.CreateDecryptor().TransformFinalBlock(encrypted, 0, encrypted.Length);
108 }
109 catch
110 {
111 string strError = "The KEY is error,please Enter In the right KEY!";
112 byte[] error = Encoding.UTF8.GetBytes(strError);
113
114 // byte[] error=new byte[10000];
115 // error = System.Text.Encoding.ASCII.GetBytes(strError );
116 // Array.Copy(error, 0, error, 0, error.Length);
117 return error ;
118 }
119 }
120
121 #endregion
122
123 }
124}
125