• 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();
            }
        }
    }
    
  • 相关阅读:
    elasticSearch数据库、skywalking集群部署
    spring boot admin 源码包的编译
    spring cloud config 配置文件更新
    网关拦截:使用用户登录
    Spring Boot Admin 2.1.4最新实战教程
    Spring Boot 整合 Apollo
    spring-boot admin的使用
    第三模块 :微服务网关Zuul架构和实践
    如何实现内核模块与内核版本的解耦
    记录一次内核热补丁制作流程
  • 原文地址:https://www.cnblogs.com/streetpasser/p/2813334.html
Copyright © 2020-2023  润新知