• 大小: 16KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: C#
  • 标签: C#  DES  ECB  加密解密  源码  

资源简介

C#DES标准ECB加密解密示例源码,根据标准的C改的源码,与网上所搜索到的完全不一样,可以支持中文为密钥的加密,也可以支持为中文字符串的加密,如,密钥为:替天行道,明文为:来自替天行道的C#DES标准ECB加密解密示例源码,加密后为:16505C9E77FA5959E9F6F6FEB031A9D35DEF8F38134311E850A0081B1A6205EBCCBFFABE291EC7D2A462B2A7E6AA1734B741867CDF093408,解密也是一样的。值得参考

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Security.Cryptography;
using System.Globalization;



namespace WindowsFormsApplication1
{
   
    public partial class Form1 : Form
    {
      
       public static string EncryptString(string sInputString string sKey)
       {
           try
           {
               byte[] data = System.Text.Encoding.Default.GetBytes(sInputString);
               DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
               DES.Key = System.Text.Encoding.Default.GetBytes(sKey);
               DES.IV = System.Text.Encoding.Default.GetBytes(sKey);
               DES.Padding = PaddingMode.Zeros;
               DES.Mode = CipherMode.ECB;
               ICryptoTransform desencrypt = DES.CreateEncryptor();
               byte[] result = desencrypt.TransformFinalBlock(data 0 data.Length);
               return BitConverter.ToString(result).Replace(“-“ string.Empty);
             //  return BitConverter.ToString(result);
           }
           catch { }

           return “转换出错!密钥必须为8位可用4个中文字符代替!“;
       }
       public static string DecryptString(string sInputString string sKey)
       {
           try
           {
               byte[] data = new byte[sInputString.Length / 2];
               for (int i = 0; i < sInputString.Length/2; i++)
               {
                   data[i] = byte.Parse(sInputString.Substring(i * 2 2) Numberstyles.HexNumber);
               }           
               DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
               DES.Key = System.Text.Encoding.Default.GetBytes(sKey);
               DES.IV = System.Text.Encoding.Default.GetBytes(sKey);
               DES.Padding = PaddingMode.Zeros;
               DES.Mode = CipherMode.ECB;
               ICryptoTransform desencrypt = DES.CreateDecryptor();
               byte[] result = desencrypt.TransformFinalBlock(data 0 data.Length);
              // return Encoding.UTF8.GetString(result);
               return  System.Text.Encoding.Default.GetString(result); 
           }
           catch { }
           return “解密出错!“;
       }
        public Form1()
        {
            InitializeComponent();

        }
       
        private void button1_Click(object sender EventArgs e)
        {

            textBox3.Text = EncryptString(textBox2.Text textBox1.Text);
        }

        private void button2_Click(object sender EventArgs e)
        {
            textBox2.Text = DecryptString(textBox3.Text textBox1.Text);
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11776  2015-09-29 15:20  C#DES标准ECB加密解密\DES.exe

     文件        187  2015-09-28 16:11  C#DES标准ECB加密解密\WindowsFormsApplication1\App.config

     文件       2854  2015-09-29 15:20  C#DES标准ECB加密解密\WindowsFormsApplication1\Form1.cs

     文件       6303  2015-09-29 15:20  C#DES标准ECB加密解密\WindowsFormsApplication1\Form1.Designer.cs

     文件       5817  2015-09-29 15:20  C#DES标准ECB加密解密\WindowsFormsApplication1\Form1.resx

     文件        536  2015-09-28 16:11  C#DES标准ECB加密解密\WindowsFormsApplication1\Program.cs

     文件       3828  2015-09-29 14:21  C#DES标准ECB加密解密\WindowsFormsApplication1\WindowsFormsApplication1.csproj

     文件       1041  2015-09-28 16:11  C#DES标准ECB加密解密\WindowsFormsApplication1.sln

    ..A..H.     39936  2015-09-29 15:23  C#DES标准ECB加密解密\WindowsFormsApplication1.v12.suo

     目录          0  2015-09-29 15:23  C#DES标准ECB加密解密\WindowsFormsApplication1

     目录          0  2015-09-29 15:23  C#DES标准ECB加密解密

----------- ---------  ---------- -----  ----

                72278                    11


评论

共有 条评论