摘要:項(xiàng)目背景因?yàn)樽约洪_(kāi)發(fā)的接口希望在傳遞的工程中可以保證參數(shù)是密文的形式,主要是前端使用加密,后端使用解密在網(wǎng)絡(luò)上搜索了很多的方法,但是大部分的都是使用和進(jìn)行端的加解密,但是眾所周知的問(wèn)題,這兩個(gè)方法在以后將會(huì)被廢棄,故而采用。
項(xiàng)目背景
因?yàn)樽约洪_(kāi)發(fā)的接口希望在傳遞的工程中可以保證參數(shù)是密文的形式,主要是前端使用js加密,后端使用php解密
在網(wǎng)絡(luò)上搜索了很多的方法,但是大部分的都是使用mcrypt_decrypt和mcrypt_encrypt進(jìn)行php端的加解密,但是眾所周知的問(wèn)題,這兩個(gè)方法在php7.1以后將會(huì)被廢棄,故而采用。
實(shí)現(xiàn)方式說(shuō)明php使用mcrypt_decrypt和mcrypt_encrypt的組合方式,以及openssl_decrypt和openssl_encrypt的組合方式
js端使用Crypto-js
為了說(shuō)明兩種方式的區(qū)別,在使用mcrypt_decrypt和mcrypt_encrypt方式的時(shí)候,使用crypto-helper-zeropadding.js來(lái)命名自定義的js加密幫助類,使用test_crypto_zeropadding.html來(lái)命令對(duì)應(yīng)的測(cè)試html文件;在使用openssl_decrypt和openssl_encrypt的組合方式的時(shí)候,使用crypto-helper-pkcs7.js來(lái)命名自定義的js加密幫助類,使用test_crypto_pcks7.html來(lái)命名測(cè)試頁(yè)面 ,詳細(xì)的區(qū)別可以參見(jiàn) 帖子
https://segmentfault.com/q/10...
github地址
方法一 :使用mcrypt_decrypt和mcrypt_encrypt php加密解密類