一个可以用来加密/解密的类 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 一个可以用来加密/解密的类 (http://www.webasp.net/article/14/13183.htm) |
| -- 作者:未知 -- 发布日期: 2004-09-17 |
| 可以用来加/解密数据库用户、密码等
using System; using System.IO; using System.Text; using System.Security.Cryptography; namespace Common { /// <summary> /// SecurityService 的摘要说明。 /// </summary> public class SecurityService { static protected Byte[] byteKey = {125, 14, 45, 67, 112, 79, 77, 99, 37, 104, 13, 9, 118, 51, 87, 108}; static protected Byte[] byteIV = {86, 19, 79, 15, 72, 58, 117, 45}; static public string SymmetricEncrypt(String sPlainText) { Byte[] bytePlaintext; MemoryStream EncryptedStream; ICryptoTransform Encryptor; CryptoStream TheCryptoStream; if(sPlainText=="") return ""; bytePlaintext = Encoding.ASCII.GetBytes(sPlainText); EncryptedStream = new MemoryStream(sPlainText.Length); Encryptor = GetEncryptor(); TheCryptoStream = new CryptoStream(EncryptedStream, Encryptor, CryptoStreamMode.Write); TheCryptoStream.Write(bytePlaintext, 0, bytePlaintext.Length); TheCryptoStream.FlushFinalBlock(); TheCryptoStream.Close(); return Convert.ToBase64String(EncryptedStream.ToArray()); }//End Function static public string SymmetricDecrypt(String sEncryptedText) { Byte[] byteEncrypted; MemoryStream PlaintextStream; ICryptoTransform Decryptor; CryptoStream TheCryptoStream; if (sEncryptedText == "") return ""; byteEncrypted = Convert.FromBase64String(sEncryptedText.Trim()); PlaintextStream = new MemoryStream(sEncryptedText.Length); Decryptor = GetDecryptor(); TheCryptoStream = new CryptoStream(PlaintextStream, Decryptor, CryptoStreamMode.Write); TheCryptoStream.Write(byteEncrypted, 0, byteEncrypted.Length); TheCryptoStream.FlushFinalBlock(); TheCryptoStream.Close(); return Encoding.ASCII.GetString(PlaintextStream.ToArray()); }//End Function static private ICryptoTransform GetEncryptor() { RC2CryptoServiceProvider CryptoProvider = new RC2CryptoServiceProvider(); CryptoProvider.Mode = CipherMode.CBC; return CryptoProvider.CreateEncryptor(byteKey, byteIV); }//End Function static private ICryptoTransform GetDecryptor() { RC2CryptoServiceProvider CryptoProvider = new RC2CryptoServiceProvider(); CryptoProvider.Mode = CipherMode.CBC; return CryptoProvider.CreateDecryptor(byteKey, byteIV); }//End Function } } |
| webasp.net |