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();
            }
        }
    }
    
  • 相关阅读:
    判断一个字符串之中出现次数最多的字符和它出现的次数
    冒泡排序
    vue 页面生成图片保存
    css实现0.5像素的底边框。
    web之面试常问问题:如何实现水平垂直居中?
    cocos 向左滚动公告
    SpringBoot 访问jsp文件报错Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/welcome.jsp]的解决办法
    vue 弹窗禁止底层滚动
    vue 倒计时 iOS无效
    axios之增删查改操作
  • 原文地址:https://www.cnblogs.com/streetpasser/p/2813334.html
Copyright © 2011-2022 走看看