PHP安全之对称密钥ACE加密解密类

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP安全之对称密钥ACE加密解密类脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP安全之对称密钥ACE加密解密类》要点:
本文介绍了PHP安全之对称密钥ACE加密解密类,希望对您有用。如果有疑问,可以联系我们。

相关主题PHP开发 PHP安全

@H_403_8@AES密钥是什么

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是目前对称密钥加密中比较通用的一种加密方式。

@H_403_8@AES密钥有什么用

支付宝开放平台所有OPEnAPI均支持对接口的请求内容和响应内容进行AES加密。加密后,在网络上传输的接口报文内容将会由明文内容变为密文内容,可以大大提升接口内容传输的安全性。

@H_403_8@AES密钥与RSA密钥的关系

PHP安全之对称密钥ACE加密解密类

  • AES密钥是对接口请求和响应内容进行加密,密文无法被第三方识别,从而止接口传输数据泄露

  • RSA密钥是对接口请求和响应内容进行签名,开发者和支付宝开放平台分别加签验签,以确认接口传输的内容没有被篡改。不论接口内容是明文还是密文,RSA均可正常签名。

  • 开发者可对请求参数先做AES加密,然后对密文进行RSA签名。

//PHP aes加密类
class AESMcrypt {

       public $iv = null;
       public $key = null;
       public $bIT = 128;
       PRivate $cipher;

       public function __construct($bit, $key, $iv, $mode) {
              if(empty($bit) || empty($key) || empty($iv) || empty($mode))
                     return NULL;

              $this->bit = $bit;
              $this->key = $key;
              $this->iv = $iv;
              $this->;mode = $mode;

              switch($this->bit) {
                     case 192:$this->cipher = MCRYPT_RIJNDAEL_192; break;
                     case 256:$this->cipher = MCRYPT_RIJNDAEL_256; break;
                     default: $this->cipher = MCRYPT_RIJNDAEL_128;
              } // www.jbxue.COM

              switch($this->mode) {
                     case 'ecb':$this->mode = MCRYPT_MODE_ECB; break;
                     case 'CFb':$this->mode = MCRYPT_MODE_CFB; break;
                     case 'ofb':$this->mode = MCRYPT_MODE_OFB; break;
                     case 'nofb':$this->mode = MCRYPT_MODE_NOFB; break;
                     default: $this->mode = MCRYPT_MODE_CBC;
              }
       }

       public function encrypt($data) {
              $data = base64_encode(mcrypt_encrypt( $this->cipher, $this->key, $data, $this->mode, $this->iv));
              return $data;
       }

       public function decrypt($data) {
              $data = mcrypt_decrypt( $this->cipher, base64_decode($data), $this->iv);
              $data = rtrim(rtrim($data), "\x00..\x1F");
              return $data;
       }

}

ACE加密解密使用方法

//使用方法
$aes = new AESMcrypt($bit = 128, $key = 'vePHP', $iv = 'js-code.cc', $mode = 'cbc');
$c = $aes->encrypt('www.js-code.com');
var_dump($aes->decrypt($c));
echo '<br />';
echo $c;

脚本宝典总结

以上是脚本宝典为你收集整理的PHP安全之对称密钥ACE加密解密类全部内容,希望文章能够帮你解决PHP安全之对称密钥ACE加密解密类所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。