Fork me on GitHub

C# AES加解密

复制代码
/// <summary>
    /// AES加密
    /// </summary>
    /// <param name="key"></param>
    /// <param name="str"></param>
    /// <returns></returns>
    public static string AesEncrypt(string Keystring, string str)
    {
        var EncryptedString = "";
        if (string.IsNullOrEmpty(str)) return null;
        Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);

        RijndaelManaged rm = new RijndaelManaged();
        rm.Key = Encoding.UTF8.GetBytes(Keystring);
        rm.Mode = CipherMode.ECB;                   // 运算方式
        rm.Padding = PaddingMode.PKCS7;             // 填充方式

        try
        {
            ICryptoTransform cTransform = rm.CreateEncryptor();
            Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            EncryptedString = Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }
        catch (Exception e)
        {
            
        }

        return EncryptedString;
    }

    /// <summary>
    /// AES解密
    /// </summary>
    /// <param name="Keystring"></param>
    /// <param name="EncryptedString"></param>
    /// <returns></returns>
    public static string AesDecrypt(string Keystring, string EncryptedString)
    {
        var DecryptedString = "";
        try
        {
            if (string.IsNullOrEmpty(EncryptedString))
            {
                return "";
            }
            Byte[] encryptData = Convert.FromBase64String(EncryptedString);
            RijndaelManaged rm = new RijndaelManaged
            {
                Key = Encoding.UTF8.GetBytes(Keystring),
                Mode = System.Security.Cryptography.CipherMode.ECB,
                Padding = System.Security.Cryptography.PaddingMode.PKCS7
            };

            ICryptoTransform ct = rm.CreateDecryptor();

            Byte[] decryptedData = ct.TransformFinalBlock(encryptData, 0, encryptData.Length);
            DecryptedString = Encoding.UTF8.GetString(decryptedData);
        }
        catch (Exception ex)
        {
            
        }

        return DecryptedString;
    }
复制代码

 

posted @   WantRemake  阅读(291)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示