• 对称加密的例子(DES)——直接加密和解密字符串


    这是在课堂上讲解的一个例子,最简单的对称算法,DES
    关于该算法的一些说明,有兴趣的朋友可以参考下面的链接
    http://baike.baidu.com/view/7510.htm
     
     
        static void Main(string[] args)
        {
            DES des = DES.Create();
            des.Key = Convert.FromBase64String("12345678910=");
            des.IV = Convert.FromBase64String("12345678910=");
            //DES的算法密钥和向量必须是12位,而且最后一位必须的=
            //而且必须用FromBase64String的方式获取
    
            string original = "Hello,world";
            byte[] data = EncryptText(original, des.Key, des.IV);//加密
            string result = DecryptText(data, des.Key, des.IV);//解密
    
            Console.WriteLine(result);
            Console.Read();
    
    
        }
    
        private static string DecryptText(byte[] data, byte[] key, byte[] iv)
        {
            MemoryStream ms = new MemoryStream(data);
            DES des = DES.Create();
            CryptoStream stream = new CryptoStream(ms, des.CreateDecryptor(key, iv), CryptoStreamMode.Read);
            byte[] from = new byte[data.Length];
            stream.Read(from, 0, from.Length);
    
            return Encoding.ASCII.GetString(from);
    
        }
    
        private static byte[] EncryptText(string original, byte[] key, byte[] iv)
        {
            MemoryStream ms = new MemoryStream();//用来接收密文的内存流
            DES des = DES.Create();
            CryptoStream stream = new CryptoStream(ms, des.CreateEncryptor(key, iv), CryptoStreamMode.Write);
            //创建加密流
    
            byte[] to = Encoding.ASCII.GetBytes(original);//获取输入的字符串的字节
            stream.Write(to, 0, to.Length);//写入加密流
            stream.FlushFinalBlock();//写入内存流,并清空缓冲区
            byte[] ret = ms.ToArray();
            stream.Close();
            ms.Close();
    
            return ret;
    
        }
  • 相关阅读:
    linux下python3环境安装(源码编译的方式安装)
    windows下docker安装(windows上安装docker比较鸡肋不推荐,还是建议在linux等系统上安装)
    序列化器嵌套的使用
    采用自定义模型字段代替序列化器嵌套的使用来返回我们想要的数据
    xadmin后台的安装及配置使用
    ORACLE检查找出损坏索引(Corrupt Indexes)的方法详解
    OGG相关操作
    ESXi挂载NFS共享存储
    第4步:创建RAC共享磁盘组
    Zabbix Server 配置微信报警
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1691876.html
Copyright © 2020-2023  润新知