vue中使用 pako.js 解密 gzip加密字符串的方法
前言
今天跟后臺(tái)對(duì)接一個(gè)接口,接受到一個(gè)加密的值,說是通過gzip加密過的,然后就蒙蔽了,
趕緊上百度找了一下資料,通過一篇文章(原文在底部)發(fā)現(xiàn)有個(gè)js庫(kù)可以解密,就下載輕松解密了
實(shí)現(xiàn)代碼
poko.js可至Github下載 https://github.com/nodeca/pako or npm install pako
import pako from 'pako'
// 一個(gè)是加密:window.btoa(),一個(gè)是解密:window.atob()
function decode(encodedData) {
// 先 base64編碼
// 加密:window.btoa(),解密:window.atob()
let decodedData = window.atob(encodedData);
// 字符串轉(zhuǎn)數(shù)組 在循環(huán)返回一個(gè) Unicode表所在位置的新數(shù)組
let charData = decodedData.split('').map(x => x.charCodeAt(0));
// Uint8Array 數(shù)組類型表示一個(gè)8位無符號(hào)整型數(shù)組,創(chuàng)建時(shí)內(nèi)容被初始化為0。創(chuàng)建完后,可以以對(duì)象的方式或使用數(shù)組下標(biāo)索引的方式引用數(shù)組中的元素。
let binData = new Uint8Array(charData);
// 調(diào)用pako 解析
let data = pako.inflate(binData);
//接受 Unicode 值,然后返回字符串。
decodedData = String.fromCharCode( new Uint16Array(data));
return decodedData
/**
* 演示:H4sIAAAAAAAAAFWPXQ6AIAyDL2QMavfD/S+m3bIhL1862hVQO8ehAf9gg7g4PmUABM8gDRoyegxX iUljjdhUboRivUipbPEKy0Lk4jbUvYiNrkpIG2ilrXx3vR/pWy5+nrgJlhojzjUjdP5zL5Sz+lo/ AQAA
*
*/
}
export default decode
總結(jié)
以上所述是小編給大家介紹的vue項(xiàng)目中 使用 pako.js 解密 gzip加密字符串的代碼詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Vuejs 組件——props數(shù)據(jù)傳遞的實(shí)例代碼
本篇文章主要介紹了Vuejs 組件——props數(shù)據(jù)傳遞的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
一文帶你了解vite對(duì)瀏覽器的請(qǐng)求做了什么
Vite是一種新型前端構(gòu)建工具,能夠顯著提升前端開發(fā)體驗(yàn),下面這篇文章主要給大家介紹了關(guān)于vite對(duì)瀏覽器的請(qǐng)求做了什么的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
使用live-server快速搭建本地服務(wù)器+自動(dòng)刷新的方法
下面小編就為大家分享一篇使用live-server快速搭建本地服務(wù)器+自動(dòng)刷新的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03

