项目背景因为自己开发的接口希望保证传递的项目中的参数都是密文形式,主要原因是前端使用js加密,后端使用php解密。在网上搜索了很多方法,不过大多是使用mcrypt_decrypt和mcrypt_encrypt在php端进行加解密,但是由于众所周知的问题,这两种方法在php7.1之后会被废弃,所以采用。实现方法可以看出,PHP使用的是mcrypt_decrypt和mcrypt_encrypt的组合,openssl_decrypt和openssl_encrypt的组合。js端使用Crypto-js。为了说明两种方法的区别,在使用mcrypt_decrypt和mcrypt_encrypt时,使用crypto-helper-zeropadding.js来命名自定义的js加密助手类,使用test_crypto_zeropadding.html命令对应的测试html文件;结合使用openssl_decrypt和openssl_encrypt时,使用crypto-helper-pkcs7.js命名自定义js加密辅助类,使用test_crypto_pcks7.html命名测试页,详细区别见帖子https://segmentfault.com/q/10...demo地址github地址方法一:使用mcrypt_decrypt和mcrypt_encryptphp加解密类
testcrypto-js