zoukankan      html  css  js  c++  java
  • C# DES加密解密

    using System;
    using System.IO;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Security.Cryptography;
    
    namespace Des
    {
        class Program
        {
    
            public static string Encode(string data, string Key) //加密
            {
                byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(Key);
                byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(Key);
                DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
                int i = cryptoProvider.KeySize;
                MemoryStream ms = new MemoryStream();
                CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
                StreamWriter sw = new StreamWriter(cst);
                sw.Write(data);
                sw.Flush();
                cst.FlushFinalBlock();
                sw.Flush();
                return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
            }
    
            public static string Decode(string data, string Key) //解密
            {
                byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(Key);
                byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(Key);
                byte[] byEnc;
                try
                {
                    byEnc = Convert.FromBase64String(data);
                }
                catch
                {
                    return null;
                }
                DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
                MemoryStream ms = new MemoryStream(byEnc);
                CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
                StreamReader sr = new StreamReader(cst);
                return sr.ReadToEnd();
            }
            static void Main(string[] args)
            {
                string ecode;
                string dcode;
                ecode = Encode("Hello word,this is a testing", "qwertyui");
                Console.Write(ecode);
                Console.Write("
    ");
                dcode = Decode(ecode, "qwertyui");
                Console.Write(dcode);
                Console.Write("
    ");
            }
        }
    }


    输出:

    E:C#DesDesinDebug>Des.exe
    Zz8EouQdHsvcw4oB4IdNV5QFIyyLbYd2PCX1k4kvod0=
    Hello word,this is a testing

  • 相关阅读:
    win7开启硬盘AHCI
    (32)odoo中的编码问题
    (31)odoo中的时间
    (30)odoo中的快捷标签
    css3 移动端页面全屏旋转,横屏显示。
    Turn.js 实现翻书效果
    WebStorm 2016 最新版激活(activation code方式)
    vue 状态管理vuex(九)
    webstorm中.vue报错(es6语法报错)-转
    Robot Framework自动化测试(一)
  • 原文地址:https://www.cnblogs.com/killbit/p/4280275.html
Copyright © 2011-2022 走看看