前言
今天跟后臺對接一個接口,接受到一個加密的值,說是通過gzip加密過的,然后就蒙蔽了,
趕緊上百度找了一下資料,通過一篇文章(原文在底部)發(fā)現(xiàn)有個js庫可以解密,就下載輕松解密了
實現(xiàn)代碼
poko.js可至Github下載 https://github.com/nodeca/pako or npm install pako
import pako from 'pako' // 一個是加密:window.btoa(),一個是解密:window.atob() function decode(encodedData) { // 先 base64編碼 // 加密:window.btoa(),解密:window.atob() let decodedData = window.atob(encodedData); // 字符串轉(zhuǎn)數(shù)組 在循環(huán)返回一個 Unicode表所在位置的新數(shù)組 let charData = decodedData.split('').map(x => x.charCodeAt(0)); // Uint8Array 數(shù)組類型表示一個8位無符號整型數(shù)組,創(chuàng)建時內(nèi)容被初始化為0。創(chuàng)建完后,可以以對象的方式或使用數(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項目中 使用 pako.js 解密 gzip加密字符串的代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com