zoukankan      html  css  js  c++  java
  • 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()); 
    		} 
    

      

  • 相关阅读:
    jquery序列化form表单使用ajax提交后处理返回的json数据
    log4net VS2012 日志layout自定义,error日志和info日志分别记录到不同文件中
    Bootstrap 填坑1 栅格浮动问题
    C# MVC Transaction 事务
    C# MVC 用户登录状态判断
    SQL中MAX()和MIN()函数的使用
    简单表的 分页存储过程 (不支持多表连接)
    SQL Server 生成数据库代码,包含数据
    js 将数值显示为金额
    Jquery.Validate 扩展方法
  • 原文地址:https://www.cnblogs.com/lijnlong/p/3622955.html
Copyright © 2011-2022 走看看