资源简介
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
相关资源
- 处理图片背景色,使用透明C#&图片处
- C#动态编译DLL到内存,并调用执行
- C#实现LL1文法编译原理课设
- 六种加密算法的C#实现源码
- C# 使用Timer控件显示当前时间
- c# DataGridView中添加下拉列表
- 30个 c# 小程序
- C#使用serialPort实时显示收到的数据
- C#,AJAX读写JSON
- c#生成dwg文件
- C#遗传算法求解VRP问题
- C#实体类生成器
- 用一个来说明C#中的继承、封装和多态
- 物联网传感器配置与数据采集C#
- C# 自动寻路迷宫bfs
- C# 注册机+时间期限源码
- C#读取数据库中表格数据
- MessageBoxExc# 自定义messagebox
- c# 远程控制 屏幕控制 文件操作
- 在线教育管理系统(C#+sql2005)(内含
- C#与三菱QL系列以太网(MELSEC)PLC交互
- C#读取DAT文件文件,生成图像,并保存
- C# FTP 控件edtftpnet pro8.3及注册码-2
- 西门子PLC与上位机C#源码Snap7.rar
- C#,串口通信,简洁界面,初学
- Wince 条码扫描
- 人机对战版五子棋C#源代码解压密码:
- C#经典视频教程BT
- C# Nlog日志使用并发送邮件
- C#编写简单的示波器
评论
共有 条评论