本文實(shí)例講述了JS實(shí)現(xiàn)AES加密并與PHP互通的方法。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西藏企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),西藏網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
有關(guān)數(shù)據(jù)加密解密問(wèn)題,有很多鐘加密方式;
這里我講述下js和php實(shí)現(xiàn)AES互通
js加密:
首先引入這幾個(gè)js文件
本站下載地址。
注意:在實(shí)際用的時(shí)候和php傳輸中,js加密后的字符串里面的+被瀏覽器解析成了空格 然后php解密的時(shí)候出錯(cuò);這里可以對(duì)加密之后的字符串做進(jìn)一步處理encrypted=encodeURIComponent(encrypted);就沒(méi)有這個(gè)問(wèn)題了
PHP的加密解密方法:
$privateKey="@12345678912345!"; $iv="@12345678912345!"; //加密 $encrypted=mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$privateKey,$data,MCRYPT_MODE_CBC,$iv); echo base64_encode($encrypted); //解密 $encryptedData=base64_decode($data); $decrypted=mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$privateKey,$encryptedData,MCRYPT_MODE_CBC,$iv); $decrypted=rtrim($decrypted,"\0");//注意!解密出來(lái)的數(shù)據(jù)后面會(huì)出現(xiàn)六個(gè)紅點(diǎn);這句代碼可以處理掉,從而不影響進(jìn)一步的數(shù)據(jù)操作 return $decrypted;
PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:
BASE64編碼解碼工具:
http://tools.jb51.net/transcoding/base64
密碼安全性在線檢測(cè):
http://tools.jb51.net/password/my_password_safe
高強(qiáng)度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password
在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt
在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha
在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript加密解密技巧匯總》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。