今天就跟大家聊聊有關(guān)VueJs里如何利用CryptoJs實(shí)現(xiàn)Md5加密和3Des加密及解密,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在大田等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,外貿(mào)營銷網(wǎng)站建設(shè),大田網(wǎng)站建設(shè)費(fèi)用合理。
安裝Crypto
Crypto里面可以把md5和3des都一起做了,所以我們直接安裝這個(gè)比較方便
找到我們的程序目錄,按住Shift加鼠標(biāo)右鍵,選擇在此處打開Powershell窗口
然后在cmd窗口里面輸入npm install crypto-js -save-dev
安裝完成后可以看到紅框下面標(biāo)注著成功了。
代碼演示
MD5加密
我們還是用上次簽名的那個(gè)項(xiàng)目里面,首先要先引用Crypto-js
getmd5,我們再寫一個(gè)GetMd5的方法,傳入的字符串直接生成MD5的字符返回,
接下來再定義一個(gè)雙向綁定的字符串,在點(diǎn)擊簽名的時(shí)候同時(shí)生成md5的字符串顯示的頁面上
運(yùn)行后的效果
3DES加密、解密
核心代碼
加密
Encrypt3Des(str: string, aStrKey: string, ivstr: string): string {
const KeyHex = CryptoJS.enc.Utf8.parse(aStrKey);
const encrypted = CryptoJS.TripleDES.encrypt(str,
KeyHex,
{
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: CryptoJS.enc.Utf8.parse(ivstr)
});
let hexstr = encrypted.ciphertext.toString().toUpperCase();
console.log(hexstr);
return hexstr;
}
一般網(wǎng)上的加解密最后紅框這里我們直接是輸出 return encrypted.tostring(),但是因?yàn)槲覀冏约旱腃#和Android的3Des的加解密都是最后輸出的16進(jìn)制的字符串,所以我們改為紅框這里輸出的樣式。
解密
Decrypt3Des(str: string, aStrKey: string, ivstr: string): string {
const KeyHex = CryptoJS.enc.Utf8.parse(aStrKey);
//因?yàn)槲覀兗用艿臅r(shí)候用到的16進(jìn)制字符串,需要進(jìn)行轉(zhuǎn)換
//第一步把16進(jìn)制字符串轉(zhuǎn)為WordArray格式
const WordArray = CryptoJS.enc.Hex.parse(str);
//第二步把WordArray再轉(zhuǎn)為base64的字符串
const base64str = CryptoJS.enc.Base64.stringify(WordArray);
//第三步再進(jìn)行解密
const decrypted = CryptoJS.TripleDES.decrypt(base64str,
KeyHex,
{
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
iv: CryptoJS.enc.Utf8.parse(ivstr)
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
這里比較重要就是紅框里面,因?yàn)槲覀兊募用茏詈筝敵龅氖?6進(jìn)制的字符串,所以我們解密的時(shí)候首先要把16進(jìn)制字符串轉(zhuǎn)為WordArray格式,再轉(zhuǎn)換為BASE64的字符串,最后再進(jìn)行解密。因?yàn)槲乙彩莻€(gè)前端小白,就是這個(gè)問題我也是研究了一下午才搞明白。
最后下面的黃框要注意輸出的字符要轉(zhuǎn)為Utf8。
其余設(shè)置
我們在test.ts里面定義了兩個(gè)字符串,一個(gè)des3encryptstr的加密后的字符串,一個(gè)des3decryptstr是解密后的字符串,然后又加上了兩個(gè)方法,一個(gè)是加密的方法btnencrypt,一個(gè)是解密的方法btndecrypt,分別調(diào)用的就是我們剛才寫的兩段核心代碼。
然后在test.vue.html里面加上雙向綁定顯示以及一個(gè)加密按鈕和一個(gè)解密按鈕。
頁面效果
未加密的效果
點(diǎn)擊加密后的效果
點(diǎn)擊解密后的效果
看完上述內(nèi)容,你們對VueJs里如何利用CryptoJs實(shí)現(xiàn)Md5加密和3Des加密及解密有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站欄目:VueJs里如何利用CryptoJs實(shí)現(xiàn)Md5加密和3Des加密及解密
鏈接地址:http://jinyejixie.com/article14/gdpgde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、小程序開發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)站制作、軟件開發(fā)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)