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!"); } } }