前端使用crypto.js進(jìn)行加密的函數(shù)代碼
crypto-js 是一個(gè)純 javascript 寫(xiě)的加密算法類庫(kù) ,可以非常方便地在 javascript 進(jìn)行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,進(jìn)行 AES、DES、Rabbit、RC4、Triple DES 加解密。
可以在這個(gè)GitHub的https://github.com/brix/crypto-js上下載該js,它可以單獨(dú)引入所需要加密方式的js;也可以引入一個(gè)crypto-js.js 這個(gè)文件,它相當(dāng)于引入了所有的加密方式,我使用的就是后者一次引入所有的加密文件,這個(gè)文件也不是很大,還可以接受。
因?yàn)槲业男枨笫羌用芸赡?,具有一定的安全?對(duì)安全性要求不高),所以使用DES或AES即可,我用的是AES:
function getAesString(data,key,iv){//加密 var key = CryptoJS.enc.Utf8.parse(key); var iv = CryptoJS.enc.Utf8.parse(iv); var encrypted =CryptoJS.AES.encrypt(data,key, { iv:iv, mode:CryptoJS.mode.CBC, padding:CryptoJS.pad.Pkcs7 }); return encrypted.toString(); //返回的是base64格式的密文 } function getDAesString(encrypted,key,iv){//解密 var key = CryptoJS.enc.Utf8.parse(key); var iv = CryptoJS.enc.Utf8.parse(iv); var decrypted =CryptoJS.AES.decrypt(encrypted,key, { iv:iv, mode:CryptoJS.mode.CBC, padding:CryptoJS.pad.Pkcs7 }); return decrypted.toString(CryptoJS.enc.Utf8); } function getAES(data){ //加密 var key = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; //密鑰 var iv = '1234567812345678'; var encrypted =getAesString(data,key,iv); //密文 var encrypted1 =CryptoJS.enc.Utf8.parse(encrypted); return encrypted; } function getDAes(data){//解密 var key = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; //密鑰 var iv = '1234567812345678'; var decryptedStr =getDAesString(data,key,iv); return decryptedStr; }
key和iv我們都可以更換,但是需要保證的是加解密的key和iv保持一致
到此這篇關(guān)于前端使用crypto.js進(jìn)行加密的函數(shù)代碼的文章就介紹到這了,更多相關(guān)crypto.js加密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS通過(guò)ajax動(dòng)態(tài)讀取xml文件內(nèi)容的方法
這篇文章主要介紹了JS通過(guò)ajax動(dòng)態(tài)讀取xml文件內(nèi)容的方法,實(shí)例分析了Ajax操作XML文件的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03flash javascript之間的通訊方法小結(jié)
不用getURL和fsCommand方法個(gè)國(guó)外的通信方法,值得一看2008-12-12JS從數(shù)組中隨機(jī)取出幾個(gè)數(shù)組元素的方法
JS如何從一個(gè)數(shù)組中隨機(jī)取出一個(gè)元素或者幾個(gè)元素呢?其實(shí)方法很簡(jiǎn)單,下面小編給大家分享了JS隨機(jī)取出幾個(gè)數(shù)組元素的方法,非常不錯(cuò),需要的朋友參考下2016-08-08JS實(shí)現(xiàn)數(shù)組淺拷貝和深拷貝的方法
淺拷貝創(chuàng)建一個(gè)新的對(duì)象,來(lái)接受重新復(fù)制或引用的對(duì)象值,如果對(duì)象屬性是基本的數(shù)據(jù)類型,復(fù)制的就是基本類型的值給新對(duì)象,這篇文章主要介紹了js實(shí)現(xiàn)數(shù)組淺拷貝和深拷貝,需要的朋友可以參考下2024-01-01JS移動(dòng)端/H5同時(shí)選擇多張圖片上傳并使用canvas壓縮圖片
這篇文章主要介紹了JS移動(dòng)端/H5同時(shí)選擇多張圖片上傳并使用canvas壓縮圖片,需要的朋友可以參考下2017-06-06