• C#加解密


    /// <summary> 
    		/// 加密数据 
    		/// </summary> 
    		/// <param name="Text"></param> 加密文本
    		/// <param name="sKey"></param> 加密key
    		/// <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(); 
    		} 
    

      

    /// <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()); 
    		} 
    

      

  • 相关阅读:
    redis:string字符串类型的操作
    redis键值操作
    什么是redis?redis有什么用途?
    centos7下安装配置redis
    windows下安装和配置redis
    mysql5.7.20完全卸载 win10
    selenium+PhantomJS小案例—爬豆瓣网所有电影代码python
    用单进程、多线程并发、多线程分别实现爬一个或多个网站的所有链接,用浏览器打开所有链接并保存截图 python
    PhantomJS、CasperJS安装配置图文详解
    python:什么是单例?一个简单的单例
  • 原文地址:https://www.cnblogs.com/lijnlong/p/3622955.html
Copyright © 2020-2023  润新知