MD5加密解密帮助类

using System;
using System.Security.Cryptography;
using System.Text;
namespace Maticsoft.DBUtility
{
	/// <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 

	}
}

MD5加密解密帮助类

时间: 2024-10-13 12:08:42

MD5加密解密帮助类的相关文章

Discuz论坛写出的php加密解密处理类(代码+使用方法)

PHP加密解密也是常有的事,最近在弄相关的东西,发现discuz论坛里的PHP加密解密处理类代码,感觉挺不错,在用的时候,要参考Discuz论坛的passport相关函数,后面我会附上使用方法,先把类代码帖上来: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <?php /*

php加密解密处理类

[PHP]代码 <?php /*=========================================================== = 版权协议: = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991) =------------------------------------------------------------ = 文件名称:cls.sys_crypt.php = 摘 要:php加密解密处理类 =

DES加密解密帮助类

public class DESCrypto { /// <summary> /// 初始化des实例秘钥及向量 /// </summary> /// <param name="key"></param> /// <returns></returns> private static DESCryptoServiceProvider InitDESInstance(string key) { DESCryptoSer

java 采用MD5加密解密

MD5加密解密 package endecrypt; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * 采用MD5加密解密 * @author tfq * @datetime 2011-10-13 */ public class MD5Util { /*** * MD5加码 生成3

php加密解密功能类

这两天突发奇想想要用php写一个对日常项目加密以及解密的功能,经过努力简单的封装了一个对php代码进行加密解密的类,一些思想也是来自于网络,初步测试用着还行,可以实现对指定项目的加密以及解密(只针对本类中加密的解密)过程,在这里分享给大家,水平比较有限那里有错误还希望指出,共同提高,一下会给大家列出来实现的思想以及源码. 加密过程:读取源文件,base64_encode进行加密,利用混排得到的52个大小写字母作为秘钥进行替换$c=strtr(密文,对应待替换的字母,要替换成的字母);将两个秘钥和

加密解密工具类(Java,DES)

一个Java版的DES加密工具类,可以用来进行网络数据传输加密,保存密码的时候进行加密. import java.security.Key; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.I

PHP和.NET通用的加密解密函数类,均使用3DES加解密 .

以下为php代码 <PRE class=PHP name="code"> </PRE><PRE class=PHP name="code">PHP加解密函数:</PRE><PRE class=PHP name="code"> </PRE><PRE class=PHP name="code"> function encrypt($string)

AES加密解密 助手类 CBC加密模式

string str = "2018"; string result1 = AESHelper.AesEncrypt(str); string result2 = AESHelper.AesDecrypt(result1); namespace Demo { /// <summary> /// AES加密解密 助手类 /// CBC加密模式 /// </summary> public class AESHelper { /// <summary> /

MD5加密解密类(asp.net)&amp;使用MD5过时处理

加密类 #region ========加密======== /// <summary> /// 加密 /// </summary> /// <param name="Text"></param> /// <returns></returns> public static string Encrypt(string Text) { return Encrypt(Text, "cong"); }