博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DES加密
阅读量:6565 次
发布时间:2019-06-24

本文共 2318 字,大约阅读时间需要 7 分钟。

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();        }    }}

 

转载于:https://www.cnblogs.com/streetpasser/archive/2012/12/11/2813334.html

你可能感兴趣的文章
P2073 送花
查看>>
iOS端项目注释规范附统一代码块
查看>>
c语言编程的限制,关于NOI系列赛编程语言使用限制的规定
查看>>
32个c语言关键字发音,C语言的32个关键字(读音、用法、注释)转来的,给刚接触C的...
查看>>
为煮酒新书《构建高可用Linux服务器》作序!
查看>>
Windows Azure中文博客 Windows Azure入门教学系列 (一): 创建第一个WebRole程序
查看>>
Linux学习之CentOS(四)----Linux各目录的介绍
查看>>
HTTP深入浅出 http请求
查看>>
为YUM设置代理的方法
查看>>
Java 编程的动态性 第1 部分: 类和类装入--转载
查看>>
【转】持久化消息队列之MEMCACHEQ
查看>>
Dom4j学习笔记
查看>>
C语言 HTTP上传文件-利用libcurl库上传文件
查看>>
[MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
查看>>
调试逆向分为动态分析技术和静态分析技术(转)
查看>>
Android webview使用详解
查看>>
业务对象和BAPI
查看>>
程序源系统与当前系统不一致:Carry out repairs in non-original systems only if urgent
查看>>
微软职位内部推荐-Senior Software Engineer
查看>>
程序中的魔鬼数字
查看>>