欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

base64解密json

錢斌斌2年前9瀏覽0評論

Base64是一種編碼方式,可以將二進制數據轉換成可打印的字符。由于某些應用場景中,需要向網絡傳輸二進制數據,但因為某些協議限制只能傳輸ASCII字符,所以需要把二進制數據編碼成ASCII字符。比如在發送郵件時,可能需要發送二進制數據作為郵件附件,但郵件協議只支持ASCII字符,此時就需要用到Base64編碼。在網絡傳輸中,前端發送和后端接收的數據格式一般是JSON格式,在數據傳輸的過程中,有些數據可能被加密過,此時在前端需要進行Base64解密。

//Base64解密函數
function decodeBase64(str) {
var base64table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var result = "";
var digitNum, curDigit;
for (var i = 0; i< str.length; i += 4) {
digitNum = base64table.indexOf(str.charAt(i+2));
curDigit = (base64table.indexOf(str.charAt(i))<< 18)
| (base64table.indexOf(str.charAt(i+1))<< 12)
| (digitNum<< 6)
| base64table.indexOf(str.charAt(i+3));
result += String.fromCharCode(curDigit >>16, (curDigit >>8) & 0xff, curDigit & 0xff);
}
if (digitNum == 63) { //padding
return result.substring(0, result.length - 2);
} else if (digitNum == 62) {
return result.substring(0, result.length - 1);
} else {
return result;
}
}

在解密JSON的時候,需要先將接收到的Base64字符串解碼成字節數組,再使用JSON.parse()方法將字節數組轉換成JSON對象。

//Base64解密及JSON解析函數
function decodeJson(jsonStr) {
var byteArr = atob(jsonStr).split("").map(function(c) { return c.charCodeAt(0); });
var json = JSON.parse(String.fromCharCode.apply(String, byteArr));
return json;
}

在使用上述代碼時,只需要調用decodeJson函數即可將Base64加密的JSON字符串解密成JSON對象。