php对称密钥加密算法,PHP安全之对称密钥ACE加密解密类

《PHP安全之对称密钥ACE加密解密类》要点:

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

AES密钥是什么

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

AES密钥有什么用

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

AES密钥与RSA密钥的关系

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

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, $this->key, base64_decode($data), $this->mode, $this->iv);

$data = rtrim(rtrim($data), "\x00..\x1F");

return $data;

}

}

ACE加密解密使用方法//使用方法

$aes = new AESMcrypt($bit = 128, $key = 'vephp', $iv = 'vephp.com', $mode = 'cbc');

$c = $aes->encrypt('www.vephp.com');

var_dump($aes->decrypt($c));

echo '
';

echo $c;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值