• DES对称性加密


    using System;
    using System.Security.Principal;
    using System.Security.Permissions;
    using System.Security.Cryptography;
    
    namespace Demo
    {
        class MainClass
        {
            /// <summary>
            /// DESCryptoServiceProvider
            /// </summary>
            public static void DESCryptoDemo ()
            {
                string message = "This message is security!";
                string strEncryp, strDecryp;
    
                DESCryptoServiceProvider des = new DESCryptoServiceProvider ();
                System.Text.Encoding encoding = new System.Text.UTF8Encoding ();
    
                byte[] key = encoding.GetBytes ("1a345689");
                byte[] iv = { 0, 91, 2, 3, 4, 5, 6, 7 };
                ICryptoTransform encryptor = des.CreateEncryptor (key, iv);
                ICryptoTransform decryptor = des.CreateDecryptor (key, iv);
                //all above 4 lines can be TiHuan as below
                des.GenerateKey ();
                des.GenerateIV ();
                encryptor = des.CreateEncryptor ();
                decryptor = des.CreateDecryptor ();
                {
                    byte[] byteMessage = encoding.GetBytes (message);
                    byte[] byteEncrypto = encryptor.TransformFinalBlock (byteMessage, 0, byteMessage.Length);
                    strEncryp = Convert.ToBase64String (byteEncrypto);
                }
                {
                    byte[] byteEncryto2 = Convert.FromBase64String (strEncryp);
                    byte[] byteDecrypto = decryptor.TransformFinalBlock (byteEncryto2, 0, byteEncryto2.Length);
                    strDecryp = encoding.GetString (byteDecrypto);
                }
                Console.WriteLine ("Message:" + message);
                Console.WriteLine ("Encrypted:" + strEncryp);
                Console.WriteLine ("Decrypted:" + strDecryp);
                Console.ReadKey ();
            }
    
            public static void Invoke (Action action)
            {
                try {
                    action ();
                } catch (Exception ex) {
                    Console.WriteLine (ex.Message);
                }
            }
    
            public static void Main (string[] args)
            {
                DESCryptoDemo ();
                Invoke (() => TestMethod1 ());
                Invoke (() => TestMethod2 ());
                Invoke (() => TestMethod3 ());
                Console.ReadKey ();
            }
    
            [PrincipalPermission (SecurityAction.Demand, Name = "Administrator")]
            public static void TestMethod1 ()
            {
                Console.WriteLine ("TestMethod1 successfully Executed!");
            }
    
            [PrincipalPermission (SecurityAction.Demand, Role = "Administrators")]
            public static void TestMethod2 ()
            {
                Console.WriteLine ("TestMethod2 successfully Executed!");
            }
    
            [PrincipalPermission (SecurityAction.Demand, Role = "Guests")]
            public static void TestMethod3 ()
            {
                Console.WriteLine ("TestMethod3 successfully Executed!");
            }
        }
    }
  • 相关阅读:
    python自动化测试学习笔记-8单元测试unittest模块
    python自动化测试学习笔记-8多线程
    python自动化测试学习笔记-7面向对象编程,类,继承,实例变量,邮件
    python自动化测试学习笔记-6excel操作xlwt、xlrd、xlutils模块
    android 拍照上传文件 原生定位
    golang 固定worker 工作池
    小程序报错x509: certificate signed by unknown authority
    PostgreSQL 添加postgis插件实现获取经纬度间的距离
    微信小程序使用mqtt mpvue mosquito
    golang 调用顺丰API接口测试
  • 原文地址:https://www.cnblogs.com/flaaash/p/5347525.html
Copyright © 2020-2023  润新知