php的mcrypt_encrypt(openssl_encrypt)和前端crypto-js.js互通AES加解密
php的mcrypt_encrypt(openssl_encrypt)和前端crypto-js.js互通AES加解密方法,亲测有效。
我们知道,数据加密的方式一般有md5和base_64两种基本方式,但是这两种加密在网上找找都可以被轻易破解,有没有一种更复杂的加密方法。那就是AES加密,如果不知道密钥和解密规则,那解密的可能性几乎为零。
在php新版本中,mcrypt_encrypt方法已经改成由openssl_encrypt扩展,效果其实是一样的,这里根据不同php版本切换就可以了。
先看下处理效果图,前端页面

经过js加密后提交的数据

后台AES解密后打印出来的数据

可以看到,php解密后和前端输入的一致,加密解密过程没有问题。
前端部分:


后台部分:

需要注意的是,iv基值最好设定16位,php5.6版本明确规定,不接受无效长度的key和iv,长度无效会给出警告并返回false。


浙公网安备 33010602011771号