///
///AES加密///
public sealed classAESCrypt
{///
///加密///
///
///
static public string Encode(stringtext)
{byte[] key = new byte[] { 132, 149, 17, 104, 128, 101, 170, 180, 191, 28, 127, 149, 144, 121, 200, 130};byte[] iv = new byte[] { 198, 12, 49, 123, 101, 128, 103, 212, 112, 122, 133, 35, 150, 130, 210, 181};try{
RijndaelManaged rijn= newRijndaelManaged();
ICryptoTransform trans=rijn.CreateEncryptor(key, iv);
MemoryStream ms= newMemoryStream();
CryptoStream cs= newCryptoStream(ms, trans, CryptoStreamMode.Write);
StreamWriter sw= newStreamWriter(cs);try{
sw.Write(text);
sw.Flush();
}finally{
sw.Close();
}byte[] _text =ms.GetBuffer();int k = 0;for (k = _text.Length - 1; k >= 0; k--)
{if (_text[k] != 0)
{break;
}
}int len = k + 1;if (len % 2 != 0)
{//必须保证取的长度为偶数
len += 1;
}return Convert.ToBase64String(ms.GetBuffer(), 0, len);
}catch{return string.Empty;
}
}///
///解密///
///
///
static public string Decode(stringtext)
{byte[] key = new byte[] { 132, 149, 17, 104, 128, 101, 170, 180, 191, 28, 127, 149, 144, 121, 200, 130};byte[] iv = new byte[] { 198, 12, 49, 123, 101, 128, 103, 212, 112, 122, 133, 35, 150, 130, 210, 181};try{
RijndaelManaged rijn= newRijndaelManaged();
ICryptoTransform trans=rijn.CreateDecryptor(key, iv);byte[] data =Convert.FromBase64String(text);
MemoryStream ms= newMemoryStream(data);
CryptoStream cs= newCryptoStream(ms, trans, CryptoStreamMode.Read);
StreamReader sr= newStreamReader(cs);string r_data = string.Empty;try{
r_data=sr.ReadToEnd();
}finally{
sr.Close();
}returnr_data;
}catch(Exception ex)
{return string.Empty;
}
}
}///
///SHA1摘要///
public sealed classSHA1Crypt
{///
///Base64编码///
///
///
static public string MakeCode(stringtext)
{
UTF8Encoding utf8= newUTF8Encoding();
SHA1CryptoServiceProvider sha1= newSHA1CryptoServiceProvider();byte[] cb =utf8.GetBytes(text);byte[] sb =sha1.ComputeHash(cb);returnConvert.ToBase64String(sb);
}
}///
///MD5摘要///
public sealed classMD5Crypt
{///
///32位编码///
///
///
public string MakeCode(stringtext)
{byte[] _bytes =MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(text));
StringBuilder _result= newStringBuilder();for (int i = 0; i < _bytes.Length; i++)
{string _hex = _bytes[i].ToString("x");if (_hex.Length == 1)
{
_result.Append("0");
}
_result.Append(_hex);
}return_result.ToString();
}
}