该代码实现如下功能:
1 利用多种加密与解密的方式对数据进行加密与解密.
2 读取XML与写入XML实例.
运行图解如下
程序启动图1
DESEncrypt加密后
DESEncrypt解密前
DESEncrypt解密后
部分代码如下:
1
using System;2
using System.Collections.Generic;3
using System.Linq;4
using System.Text;5
using System.Security.Cryptography;6

7
namespace X8023Z_ENCODE8


{9

/**//// <summary>10
/// Encrypt 的摘要说明。11
/// 802312
/// </summary>13
public class DEncrypt14

{15

/**//// <summary>16
/// 构造方法17
/// </summary>18
public DEncrypt()19

{20
}21

22

使用 给定密钥字符串 加密/解密string#region 使用 给定密钥字符串 加密/解密string23

/**//// <summary>24
/// 使用给定密钥字符串加密string25
/// </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
/// 使用给定密钥字符串解密string38
/// </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
#endregion61

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
try106

{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
#endregion122

123
}124
}125
