DES加密解密

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Security.Cryptography;
private static byte[] DESKey=new byte[]{11,23,93,102,72,41,18,12};
private static byte[] DESIV=new byte[]{75,158,46,97,78,57,17,36};
public static string Encode(string Encode_String)
  {
   
   DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
   MemoryStream objMemoryStream = new MemoryStream();
   //用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 加密器对象
   CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateEncryptor(DESKey,DESIV),CryptoStreamMode.Write);
   StreamWriter objStreamWriter = new StreamWriter(objCryptoStream);
   objStreamWriter.Write(Encode_String);
   objStreamWriter.Flush();
   objCryptoStream.FlushFinalBlock();
   objMemoryStream.Flush();
   return Convert.ToBase64String(objMemoryStream.GetBuffer(), 0, (int)objMemoryStream.Length);
  }

  public static string Decode(string Encode_String)
  {
   DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
   byte[] Input = Convert.FromBase64String(Encode_String);
   MemoryStream objMemoryStream = new MemoryStream(Input);
   //用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 解密器对象
   CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateDecryptor(DESKey,DESIV),CryptoStreamMode.Read);
   StreamReader  objStreamReader  = new StreamReader(objCryptoStream);
   return objStreamReader.ReadToEnd();
  }
  private void button1_Click(object sender, System.EventArgs e)
  {
   try
   {
    string temp=textBox1.Text;
    textBox2.Text=Encode(temp);
   }
   catch(System.Exception ee)
   {
    MessageBox.Show("解密、加密期间出现错误!"+ee.Message,"错误");
   }
  }
 private void button2_Click(object sender, System.EventArgs e)
  {
  textBox3.Text= Decode(textBox2.Text);
  }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值