今日头条个人主页接口的部分数据经过加密无法直接通过接口获取,咋办?上干货,不墨迹。
<script src="http://cdn.bootcdn.net/ajax/libs/crypto-js/4.0.0/crypto-js.js"></script>
<script>
function encryptKey(logid,seed) {
var key = (logid+seed+logid).toString()
return CryptoJS.MD5(key).toString()
}
/**
* AES-256-CBC对称解密
* @param textBase64 {string} 要解密的密文,Base64格式
* @param secretKey {string} 密钥,43位随机大小写与数字
* @returns {string} 解密后的明文
*/
function AES_CBC_DECRYPT(textBase64, secretKey) {
var keyHex = CryptoJS.enc.Hex.parse(secretKey);
// var ivHex = keyHex.clone();
var decrypt = CryptoJS.AES.decrypt(textBase64, keyHex, {
"iv": keyHex,
});
return CryptoJS.enc.Utf8.stringify(decrypt);
}
var key = encryptKey('20211004092835010212205224135F886E',"14f99ae6a5fd9efccc678c3961b80ac9")
var a = AES_CBC_DECRYPT('b4vgUDuy50lW3ea2qNucTA==',key)
console.log(a)
</script>
看代码后发现logid和seed应该从哪里获取,这两个值需要从请求接口的response的header中获取如下图
由于不是经常在线,如有什么问题 搜索微信号 fywb251