各大網(wǎng)站官網(wǎng)的導(dǎo)航欄怎么做成品網(wǎng)站貨源1
前言
主要是報(bào)了自考在這個(gè)小程序上面做題,就研究了一下這個(gè)接口本文僅供學(xué)習(xí)交流使用,請(qǐng)勿隨意傳播。
如有侵犯你的權(quán)益及時(shí)聯(lián)系我刪除。
一、抓包分析
打開小程序,打開devtools?工具,這里就不啰嗦,直接上過程。
點(diǎn)擊紅框進(jìn)入 。
一般的加解密的關(guān)鍵字都是decrypt,encrypt ,反正各種關(guān)鍵字使勁搜就完事了 。
我這里搜的是解密的關(guān)鍵詞 decrypt 。。找到好多處。下斷點(diǎn)測(cè)試 。
?
此處下斷點(diǎn) 。
?可以看到加密方式是AES加密的 。其實(shí)他這里用到的是 CryptoJS 的前端解密的 。加密方式是 CBC-128 。
二、結(jié)束
CryptoJS 是一個(gè)三方的JS庫。寫一段代碼證明一下。
function cryptoDecrypt_(e) {
var t = n.crpytoConfig.AES_IV
, o = n.crpytoConfig.AES_KEY
, c = e.replace(/\_/g, "/").replace(/\-/g, "+")
, a = CryptoJS.enc.Utf8.parse(o)
, u = CryptoJS.enc.Utf8.parse(t)
, p = CryptoJS.enc.Base64.parse(c)
, f = CryptoJS.enc.Base64.stringify(p);
return CryptoJS.AES.decrypt(f, a, {
iv: u,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8).toString()
}console.log(cryptoDecrypt_(str));
得到了明文
加密的方式也是一樣的。整體來說還是比較簡(jiǎn)單的。