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, 86, 19, 79 };
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());
}
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());
}
static private ICryptoTransform GetEncryptor()
...{
RC2CryptoServiceProvider CryptoProvider = new RC2CryptoServiceProvider();
CryptoProvider.Mode = CipherMode.CBC;
return CryptoProvider.CreateEncryptor(byteKey, byteIV);
}
static private ICryptoTransform GetDecryptor()
...{
RC2CryptoServiceProvider CryptoProvider = new RC2CryptoServiceProvider();
CryptoProvider.Mode = CipherMode.CBC;
return CryptoProvider.CreateDecryptor(byteKey, byteIV);
}
}
}
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, 86, 19, 79 };
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());
}
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());
}
static private ICryptoTransform GetEncryptor()
...{
RC2CryptoServiceProvider CryptoProvider = new RC2CryptoServiceProvider();
CryptoProvider.Mode = CipherMode.CBC;
return CryptoProvider.CreateEncryptor(byteKey, byteIV);
}
static private ICryptoTransform GetDecryptor()
...{
RC2CryptoServiceProvider CryptoProvider = new RC2CryptoServiceProvider();
CryptoProvider.Mode = CipherMode.CBC;
return CryptoProvider.CreateDecryptor(byteKey, byteIV);
}
}
}