一個可以用來加密/解密的類

來源:互聯網
上載者:User
加密|解密 可以用來加/解密資料庫使用者、密碼等

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





相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。