<返回更多

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

2021-09-16    李老师tome
加入收藏

利用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

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>