zoukankan      html  css  js  c++  java
  • 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!");
            }
        }
    }
  • 相关阅读:
    idea中svn代码冲突
    数据库表的连接(Left join , Right Join, Inner Join)用法详解
    @Param注解的用法解析
    spring @Transactional注解参数详解
    数据库的DDL、DML和DCL的区别与理解
    Mybatis:resultMap的使用总结
    Maps.newHashMap 和 new HashMap的区别
    php 个推的例子
    fidder 调接口 的 小常识
    php Memcached
  • 原文地址:https://www.cnblogs.com/flaaash/p/5347525.html
Copyright © 2011-2022 走看看