c#實現3DES加密

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