一个可以用来加密/解密的类(原创)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

可以用来加/解密数据库用户、密码等

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

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航