zoukankan      html  css  js  c++  java
  • DES加密/解密类。

    using System.Security.Cryptography;   //用的类
    
    
         /// <summary>
        /// DES加密/解密类。
        /// </summary>
        public class DESEncrypt
        {
            public DESEncrypt()
            {            
            }
    
            #region ========加密======== 
     
            /// <summary>
            /// 加密
            /// </summary>
            /// <param name="Text"></param>
            /// <returns></returns>
            public static string Encrypt(string Text) 
            {
                return Encrypt(Text, "litianping");
            }
            /// <summary> 
            /// 加密数据 
            /// </summary> 
            /// <param name="Text"></param> 
            /// <param name="sKey"></param> 
            /// <returns></returns> 
            public static string Encrypt(string Text,string sKey) 
            { 
                DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
                byte[] inputByteArray; 
                inputByteArray=Encoding.Default.GetBytes(Text); 
                des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); 
                des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); 
                System.IO.MemoryStream ms=new System.IO.MemoryStream(); 
                CryptoStream cs=new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write); 
                cs.Write(inputByteArray,0,inputByteArray.Length); 
                cs.FlushFinalBlock(); 
                StringBuilder ret=new StringBuilder(); 
                foreach( byte b in ms.ToArray()) 
                { 
                    ret.AppendFormat("{0:X2}",b); 
                } 
                return ret.ToString(); 
            } 
    
            #endregion
            
            #region ========解密======== 
       
     
            /// <summary>
            /// 解密
            /// </summary>
            /// <param name="Text"></param>
            /// <returns></returns>
            public static string Decrypt(string Text) 
            {
                return Decrypt(Text, "litianping");
            }
            /// <summary> 
            /// 解密数据 
            /// </summary> 
            /// <param name="Text"></param> 
            /// <param name="sKey"></param> 
            /// <returns></returns> 
            public static string Decrypt(string Text,string sKey) 
            { 
                DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
                int len; 
                len=Text.Length/2; 
                byte[] inputByteArray = new byte[len]; 
                int x,i; 
                for(x=0;x<len;x++) 
                { 
                    i = Convert.ToInt32(Text.Substring(x * 2, 2), 16); 
                    inputByteArray[x]=(byte)i; 
                } 
                des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); 
                des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); 
                System.IO.MemoryStream ms=new System.IO.MemoryStream(); 
                CryptoStream cs=new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write); 
                cs.Write(inputByteArray,0,inputByteArray.Length); 
                cs.FlushFinalBlock(); 
                return Encoding.Default.GetString(ms.ToArray()); 
            } 
     
            #endregion 
    
    
        }
  • 相关阅读:
    flask插件系列之flask_cors跨域请求
    【电脑蓝屏记】
    .net 定时启动任务
    c# winform+wcf代理上网的处理
    WCF
    Sql Over的用法
    【转】c#的逆向工程-IL指令集
    【随记】代码混编的重要性
    【转】android学习日记01--综述
    c#获取网页代码、数据、资源
  • 原文地址:https://www.cnblogs.com/jiao28/p/3720498.html
Copyright © 2011-2022 走看看