110,535
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
namespace DES
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static string a(string A_0, string A_1, bool A_2)
{
string str;
byte[] buffer;
byte[] inputBuffer = Convert.FromBase64String(A_0);
if (A_2)
{
buffer = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(A_1));
}
else
{
buffer = Encoding.UTF8.GetBytes(A_1);
}
TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider();
provider.Key = buffer;
provider.Mode = CipherMode.ECB;
provider.Padding = PaddingMode.PKCS7;
byte[] bytes = provider.CreateDecryptor().TransformFinalBlock(inputBuffer, 0, inputBuffer.Length);//主要是这一句报错
str = Encoding.UTF8.GetString(bytes);
return str;
}
public static string b(string A_0, string A_1, bool A_2)
{
string str;
byte[] buffer;
byte[] bytes = Encoding.UTF8.GetBytes(A_0);
if (A_2)
{
buffer = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(A_1));
}
else
{
buffer = Encoding.UTF8.GetBytes(A_1);
}
TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider();
provider.Key = buffer;
provider.Mode = CipherMode.ECB;
provider.Padding = PaddingMode.PKCS7;
byte[] inArray = provider.CreateEncryptor().TransformFinalBlock(bytes, 0, bytes.Length);
str = Convert.ToBase64String(inArray, 0, inArray.Length);
return str;
}
private void button1_Click(object sender, EventArgs e)
{
string str3, str2, str1, str;
str = this.textBox1.Text;
str1 = Encoding.ASCII.GetString(Convert.FromBase64String(str));
string[] arr= str1.Split("&".ToCharArray());
str2 = arr[0];
str3 = arr[1];
this.textBox4.Text = str2;
str3 = a(str3, "gg", true);
str = a(str2, str3, true);
this.textBox2.Text = str3;
this.textBox3.Text = str;
}
private void button2_Click(object sender, EventArgs e)
{
string str, str1, str2, str3, str4;
str1 = this.textBox2.Text;
str2 = this.textBox3.Text;
str3 = b(str1, "gg", true);
str4 = b(str2, str3, true);
this.textBox2.Text = str3;
str4 = str4 + "&" + str3;
str = Convert.ToBase64String(Encoding.ASCII.GetBytes(str4));
this.textBox4.Text = str;
}
}
}
str = a(str2, str3, true);
str3 = a(str3, "gg", true);
private void button1_Click(object sender, EventArgs e)
{
string str3, str2, str1, str;
str = this.textBox4.Text;//1
str1 = Encoding.ASCII.GetString(Convert.FromBase64String(str));
string[] arr = str1.Split("&".ToCharArray());
str2 = arr[0];
str3 = arr[1];
this.textBox2.Text = str3;//2
str = a(str2, str3, true);
str3 = a(str3, "gg", true);
this.textBox1.Text = str3;
this.textBox3.Text = str;
}