DES64位加密解密

需要引入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 class DESCryptoServerceOrivuder
    {
        private static void EncrtotData(string inName, string outName, byte[] desKey, byte[] desIV)
        {
            FileStream fin = new FileStream(inName, FileMode.OpenOrCreate, FileAccess.Read);
            FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
            fout.SetLength(0);
            byte[] bin = new byte[100];
            long rdlen = 0;
            long totlen = fin.Length;
            int len;
            DES des = new DESCryptoServiceProvider();
            CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
            MessageBox.Show("Encrypting....");
            while (rdlen < totlen)
            {
                len = fin.Read(bin, 0, 100);
                encStream.Write(bin, 0, len);
                rdlen = rdlen + len;

            }
            encStream.Close();
            fout.Close();
            fin.Close();

        }
    }
DESCryptoServerceOrivuder类
 public static string Decode(string Encode_string)
        {
            DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
            byte[] input = Convert.FromBase64String(Encode_string);
            MemoryStream ibhnenirtstrean = new MemoryStream(input);
            CryptoStream objcryptostream = new CryptoStream(ibhnenirtstrean, objDES.CreateDecryptor(DESKey, DESIV), CryptoStreamMode.Read);
            StreamReader red = new StreamReader(objcryptostream);
            return red.ReadToEnd();
        }
解密方法
public static string Encode(string Encode_string)
        {
            DESCryptoServiceProvider ibjEES = new DESCryptoServiceProvider();
            MemoryStream objMemoryStream = new MemoryStream();
            CryptoStream objcryptostream = new CryptoStream(objMemoryStream, ibjEES.CreateEncryptor(DESKey, DESIV), CryptoStreamMode.Write);
            StreamWriter objstreamwrite = new StreamWriter(objcryptostream);
            objstreamwrite.Write(Encode_string);
            objstreamwrite.Flush();
            objcryptostream.FlushFinalBlock();
            objMemoryStream.Flush();
            return Convert.ToBase64String(objMemoryStream.GetBuffer(), 0, (int)objMemoryStream.Length);

        }
加密方法
private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string temp = textBox1.Text;
                textBox2.Text = Encode(temp);
            }
            catch (Exception)
            {

                MessageBox.Show("成功过");
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox3.Text = Decode(textBox2.Text);
        }
加密解密使用

转载于:https://www.cnblogs.com/lovable/p/7131734.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值