zoukankan      html  css  js  c++  java
  • DES加密

    using System;
    using System.IO;
    using System.Security.Cryptography;
    namespace ConsoleApp
    {
        /// 
        /// Security 的摘要说明。
        /// 
        public class Security
        {
            //8字节密钥
            const string KEY_64 = "VavicApp";
            const string IV_64 = "VavicApp"; //注意了,是8个字符,64位
    
            public Security()
            {
                //
                // TODO: 在此处添加构造函数逻辑
                //
            }
            public static string Encode(string data)
            {
                byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
                byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
                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)
            {
                byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
                byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
                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();
            }
    
            public static void Main()
            {
                string s = "";
                string s1 = "";
                string s2 = "";
    
                s = Console.ReadLine();
                Console.WriteLine(s);
    
                s1 = Security.Encode(s);
                Console.WriteLine(s1);
    
                s2 = Security.Decode(s1);
                Console.WriteLine(s2);
                Console.Read();
            }
        }
    }
    
  • 相关阅读:
    Sentry异常捕获平台
    docker部署RabbitMQ(单机)
    Elasticsearch参数调优
    docker 部署Elasticsearch-权限认证(单节点)
    ElementUI 实现el-table 列宽自适应
    vue 弹幕插件
    linux 命令笔记
    swoole安装笔记
    Swoole学习笔记
    VM安装centos8实战
  • 原文地址:https://www.cnblogs.com/streetpasser/p/2813334.html
Copyright © 2011-2022 走看看