BaiduPCS-Go
BaiduPCS-Go copied to clipboard
MD5就没对过,是不是百度自己混淆了MD5值的输出?
baidupcs meta /分享/insyde_bios/\*.7z
[0] - [/分享/insyde_bios/bios-insyde.7z] --------------
类型 文件
文件路径 /分享/insyde_bios/bios-insyde.7z
文件名称 bios-insyde.7z
文件大小 57279661, 54.626142MB
md5 (可能不正确) 4847beb6ft6927893d219dadf6b4f047
app_id 266719
fs_id 265578393542248
创建日期 2023-01-15 15:21:48
修改日期 2023-01-15 15:21:48
[1] - [/分享/insyde_bios/Exconfidential Insyde NTC.7z] --------------
类型 文件
文件路径 /分享/insyde_bios/Exconfidential Insyde NTC.7z
文件名称 Exconfidential Insyde NTC.7z
文件大小 105985048, 101.075218MB
md5 (可能不正确) 5c0ce2a51r9858003cc1ca7a1f211108
app_id 266719
fs_id 515127160702882
创建日期 2023-01-15 15:22:06
修改日期 2023-01-15 15:22:06
md5sum Exconfidential\ Insyde\ NTC.7z
e22ff2ff0435108fce0c62c009ec4735 Exconfidential Insyde NTC.7z
md5sum bios-insyde.7z
42beb6862a7db659cea33a2698143100 bios-insyde.7z
是混淆了, 解密函数如下(typescript): # 注意, 解密之后md5仍有可能错误
function decryptMd5(md5: string): string {
if (
!(
(parseInt(md5[9]) >= 0 && parseInt(md5[9]) <= 9) ||
(md5[9] >= "a" && md5[9] <= "f")
)
)
return decrypt(md5);
else return md5;
function decrypt(encryptMd5: string): string {
let key = (encryptMd5[9].charCodeAt(0) - "g".charCodeAt(0)).toString(16);
let key2 = encryptMd5.slice(0, 9) + key + encryptMd5.slice(10);
let key3 = "";
for (let a = 0; a < key2.length; a++)
key3 += (parseInt(key2[a], 16) ^ (15 & a)).toString(16);
let md5 =
key3.slice(8, 16) +
key3.slice(0, 8) +
key3.slice(24, 32) +
key3.slice(16, 24);
return md5;
}
}
注意, 解密之后md5仍有可能错误
没能蚌埠😓