PHP-JS-AES对称加密解密代码实现

【PHP-JS-AES对称加密解密代码实现】利用JS的CryptoJS 3.x和php的openssl_encrypt,openssl_decrypt实现AES对称加密解密,由于需要两种语言对同一字符串的操作,而CryptoJS 的默认加密方式为“aes-256-cbc”,PHP端也使用aes-256-cbc方式解密 。
JS端的AES加密解密在CryptoJS 的官网
https://cryptojs.gitbook.io/docs/,有示例代码,我稍加改造,主要功能是利用默认的加密方式,将任意内容(数组,对象,字符串等)转成加密字符串 。后面两个方法可以忽略 。
PHP-JS-AES对称加密解密代码实现

文章插图
aes-format.js
加密后生成一个JSON字符串,第一个是密文,第二个是偏移量,第三个是加盐字符串 。使用示例如下:
PHP-JS-AES对称加密解密代码实现

文章插图
js-example.js
PHP服务端加密解密原数据可以是JS端的加密字符串,也可以解密PHP加密的数据 。为此封装了一个AES类,实现加密解密两个方法 。与上面的JS代码一一对应 。
PHP-JS-AES对称加密解密代码实现

文章插图
CryptoJsAes.php
加密解密方式与JS端一致,同样会得到JSON字符串 。使用方法如下:
PHP-JS-AES对称加密解密代码实现

文章插图
test.php




    推荐阅读