c#實現3DES加密
public class Crypto
{
SymmetricAlgorithm mCSP;
#region "Constants"
const string _key = "NYYObMInlTtentKODigMiSE/NSp/4JQv";
const string _IV = "PenS8UCVF7s=";
#endregion
public Crypto()
{
mCSP = SetEnc();
mCSP.IV = Convert.FromBase64String(_IV);
mCSP.Key = Convert.FromBase64String(_key);
}
public string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
Byte[] byt = new byte[64];
try
{
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception Ex)
{
throw (new Exception("An error occurred while encrypting string", Ex));
}
}
public string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
Byte[] byt = new byte[64];
try
{
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
string test = Encoding.UTF8.GetString(ms.ToArray());
return Encoding.UTF8.GetString(ms.ToArray());
}
catch (Exception ex)
{
throw (new Exception("An error occurred while decrypting string", ex));
}
}
private SymmetricAlgorithm SetEnc()
{
return new TripleDESCryptoServiceProvider();
}
}
本文由用戶 MiltonGetz 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!