分润宝专注开发分润系统、支付联盟系统、共享店铺系统、共享股东系统!
全国服务热线0592-5519259 QQ咨询 微信咨询

分润宝客服

分润宝客服

微信客服

客服微信号

15959224512

  • POS支付联盟系统
  • 门店拓客分红系统
  • 分销系统小程序开发
  • POS支付联盟系统
  • 门店拓客分红系统
  • 分销系统小程序开发

分润宝 > 常见问题 > 技术文档

AES加密和解密

/// <summary>
        ///  AES 加密 与java特殊处理秘钥后结果一致
        /// </summary>
        /// <param name="str">明文(待加密)</param>
        /// <param name="key">密文</param>
        /// <returns></returns>
        private static string AESEncrypt(string str, string key)
        {
            if (string.IsNullOrEmpty(str)) return null;
            Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);

            byte[] keyArray = null;
            using (var sha1 = new SHA1CryptoServiceProvider())
            {
                byte[] hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(key));
                var rd = sha1.ComputeHash(hash);
                keyArray = rd.Take(16).ToArray();
            }


            RijndaelManaged rm = new RijndaelManaged
            {
                Key = keyArray,
                Mode = CipherMode.ECB,
                Padding = PaddingMode.PKCS7
            };

            ICryptoTransform cTransform = rm.CreateEncryptor();
            Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

            return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }
        /// <summary>
        ///  AES 解密
        /// </summary>
        /// <param name="str">明文(待解密)</param>
        /// <param name="key">密文</param>
        /// <returns></returns>
        private static string AESDecrypt(string str, string key)
        {
            if (string.IsNullOrEmpty(str)) return null;
            Byte[] toEncryptArray = Convert.FromBase64String(str);


            byte[] keyArray = null;
            using (var sha1 = new SHA1CryptoServiceProvider())
            {
                byte[] hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(key));
                var rd = sha1.ComputeHash(hash);
                keyArray = rd.Take(16).ToArray();
            }

            RijndaelManaged rm = new RijndaelManaged
            {
                Key = keyArray,
                Mode = CipherMode.ECB,
                Padding = PaddingMode.PKCS7
            };

            ICryptoTransform cTransform = rm.CreateDecryptor();
            Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

            return Encoding.UTF8.GetString(resultArray);
        }

POS联盟系统开发

分润宝是一家互联网软件开发公司,主营分润管理系统支付联盟系统共享股东分红系统开发,专注各种模式的分润系统开发,如果您有分润分红相关系统需求就来找分润宝。

如果没有解决您的问题,请立即联系客服

分润宝,拓客引流系统

扫一扫添加老师

微信号:15959224512

点击复制微信号

我想了解详细方案

936986 用户已提交咨询

声明:文章"AES加密和解密"部分内容源于网络,如有涉及侵权请联系处理,谢谢合作!

分润宝公众号

客服

微信客服

置顶
联系我~免费为你提供模式策划