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

  • 相关阅读:
    不可或缺 Windows Native (15)
    不可或缺 Windows Native (14)
    不可或缺 Windows Native (13)
    不可或缺 Windows Native (12)
    不可或缺 Windows Native (11)
    不可或缺 Windows Native (10)
    不可或缺 Windows Native (9)
    不可或缺 Windows Native (8)
    不可或缺 Windows Native (7)
    不可或缺 Windows Native (6)
  • 原文地址:https://www.cnblogs.com/killbit/p/4280275.html
Copyright © 2011-2022 走看看