首页|操作系统|软件开发|网页制作|媒体动画|数据库|ASP教程|ASP.NET教程|PHP教程|JSP教程|XML教程|建站资料|软件学院|行业资讯|平面设计|网络安全|晒IT论坛|IT人才
  位置: 晒IT >> ASP.NET教程 >> Asp.Net提高教程 >> 正文
 
 
一个可以用来加密/解密的类
一个可以用来加密/解密的类
 
 
可以用来加/解密数据库用户、密码等

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
}
}



  • 上一篇: WEB系统中加密\解密URL传输参数.
  • 下一篇: 利用MD5加密数据库中的密码
  •  告诉好友  打印此文 关闭窗口 返回顶部
     
    热点文章
     
     
    推荐文章
     
     
    相关文章

    | 设为首页 | 加入收藏 | 联系我们 | 友情链接 | 诚聘英才 |
    Copyright© 2008 ShaiIT.Com .All Rights Reserved
    下载alexa工具,提升您的网站排名