ase加密方式,php加密,c#解密

8 篇文章 0 订阅
1 篇文章 0 订阅
<?php
//https://my.oschina.net/u/3403514/blog/1809008
class Aes
{
    //密钥 须是16位
    public $key ;

    /**
     * 解密字符串
     * @param string $data 字符串
     * @return string
     */
    public function __construct()
    {
    	$this->key = 'r!Q9XE0e^yFIWO0h';
    }

    /**
     * 解密字符串
     * @param string $strr
     * @return string
     */
    public  function decode($str)
    {
        return openssl_decrypt(base64_decode($str),"AES-128-ECB",$this->key,OPENSSL_RAW_DATA, "");
    }

    /**
     * 加密字符串
     * @param string $str
     * @return string
     */
    public  function encode($str)
    {
        //return openssl_encrypt('ABCDEFG', 'AES-128-ECB', $this->key, 0, "");
        return base64_encode(openssl_encrypt($str,"AES-128-ECB",$this->key,OPENSSL_RAW_DATA, ""));
    }

}

 

        private const string sKey = "r!Q9XE0e^yFIWO0h";

        #region RijndaelManaged加密
        /// <summary>
        /// 加密数据
        /// from https://www.cnblogs.com/nsky/p/4481953.html
        /// </summary>
        /// <param name="Text">要加密的内容</param>
        /// <param name="sKey">key,必须为32位</param>
        /// <returns></returns>
        public static string RiEncrypt(string Text, string sKey)
        {
            byte[] keyArray = UTF8Encoding.UTF8.GetBytes(sKey);
            //TripleDESCryptoServiceProvider
            RijndaelManaged encryption = new RijndaelManaged();
            encryption.Key = keyArray;

            encryption.Mode = CipherMode.ECB;

            encryption.Padding = PaddingMode.PKCS7;

            ICryptoTransform cTransform = encryption.CreateEncryptor();

            byte[] _EncryptArray = UTF8Encoding.UTF8.GetBytes(Text);

            byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);

            return Convert.ToBase64String(resultArray, 0, resultArray.Length);

        }
        #endregion
        #region =======RijndaelManaged解密========
        /// <summary>
        /// 解密数据
        /// from https://www.cnblogs.com/nsky/p/4481953.html
        /// </summary>
        /// <param name="Text"></param>
        /// <param name="sKey"></param>
        /// <returns></returns>
        public static string RiDecrypt(string Text, string sKey)
        {
            byte[] keyArray = UTF8Encoding.UTF8.GetBytes(sKey);

            RijndaelManaged decipher = new RijndaelManaged();

            decipher.Key = keyArray;

            decipher.Mode = CipherMode.ECB;

            decipher.Padding = PaddingMode.PKCS7;

            ICryptoTransform cTransform = decipher.CreateDecryptor();

            byte[] _EncryptArray = Convert.FromBase64String(Text);

            byte[] resultArray = cTransform.TransformFinalBlock(_EncryptArray, 0, _EncryptArray.Length);

            return UTF8Encoding.UTF8.GetString(resultArray);

        }
        #endregion

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值