下面是详细讲解vue中使用pako.js解密gzip加密字符串的方法的完整攻略:
准备工作
- 引入pako.js库
- 确定gzip加密字符串的编码方式
解密过程
- 将gzip加密字符串进行base64解码转化成一个UInt8Array类型的数组
let str = "H4sIAAAAAAAAAKvLy0zJzcy00ElVQJDmFhYWFgYGBlJYAJsf/FiMCAAAA";
let compressed = window.atob(str);
let byteArray = new Uint8Array(compressed.length);
for (let i = 0; i < compressed.length; i++) {
byteArray[i] = compressed.charCodeAt(i);
}
- 使用pako.js库进行解压,decode方法表示进行base64解码后再进行gzip解压
let pako = require('pako')
let unziped = pako.inflate(byteArray, { to: 'string',from: 'string' ,gzip:true, decode:true });
- 将解密后的字符串作为json字符串进行解析
let json = JSON.parse(unziped);
示例说明
示例1:直接解密gzip加密字符串
// 1.将gzip加密字符串进行base64解码转化成一个UInt8Array类型的数组
let str = "H4sIAAAAAAAAAKvLy0zJzcy00ElVQJDmFhYWFgYGBlJYAJsf/FiMCAAAA";
let compressed = window.atob(str);
let byteArray = new Uint8Array(compressed.length);
for (let i = 0; i < compressed.length; i++) {
byteArray[i] = compressed.charCodeAt(i);
}
// 2.使用pako.js库进行解压
let pako = require('pako')
let unziped = pako.inflate(byteArray, { to: 'string',from: 'string' ,gzip:true, decode:true });
// 3.将解密后的字符串作为json字符串进行解析
let json = JSON.parse(unziped);
示例2:将gzip加密字符串作为post请求的response进行解密
// post请求返回的response是经过gzip加密的,需要进行解密
axios.post('/api/getData', { data: data }).then(response => {
let str = response.data;
let compressed = window.atob(str);
let byteArray = new Uint8Array(compressed.length);
for (let i = 0; i < compressed.length; i++) {
byteArray[i] = compressed.charCodeAt(i);
}
let pako = require('pako')
let unziped = pako.inflate(byteArray, { to: 'string',from: 'string' ,gzip:true, decode:true });
let json = JSON.parse(unziped);
})
以上就是使用pako.js库解密gzip加密字符串的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue中使用 pako.js 解密 gzip加密字符串的方法 - Python技术站