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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!