X8023Z团队出的第一个源码....多种加解密方式的小工具
该代码实现如下功能:
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

                    
                
                
            
        
浙公网安备 33010602011771号