using System.Security.Cryptography;
using System.IO; 
using System.Text; 

///MD5加密
public string MD5Encrypt(string pToEncrypt, string sKey)

DESCryptoServiceProvider des 
= new DESCryptoServiceProvider(); 
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt); 
des.Key 
= ASCIIEncoding.ASCII.GetBytes(sKey); 
des.IV 
= ASCIIEncoding.ASCII.GetBytes(sKey); 
MemoryStream ms 
= new 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); 
}
 
ret.ToString(); 
return ret.ToString(); 

}


///MD5解密
public string MD5Decrypt(string pToDecrypt, string sKey)

DESCryptoServiceProvider des 
= new DESCryptoServiceProvider(); 

byte[] inputByteArray = new byte[pToDecrypt.Length / 2]; 
for(int x = 0; x < pToDecrypt.Length / 2; x++

int i = (Convert.ToInt32(pToDecrypt.Substring(x * 22), 16)); 
inputByteArray[x] 
= (byte)i; 
}
 

des.Key 
= ASCIIEncoding.ASCII.GetBytes(sKey); 
des.IV 
= ASCIIEncoding.ASCII.GetBytes(sKey); 
MemoryStream ms 
= new MemoryStream(); 
CryptoStream cs 
= new CryptoStream(ms, des.CreateDecryptor(),CryptoStreamMode.Write); 
cs.Write(inputByteArray, 
0, inputByteArray.Length); 
cs.FlushFinalBlock(); 

StringBuilder ret 
= new StringBuilder(); 

return System.Text.Encoding.Default.GetString(ms.ToArray()); 
}
 
http://blog.breakn.net/article.asp?id=311
posted on 2007-02-27 11:04  mbskys  阅读(284)  评论(0)    收藏  举报