通过微博图片地址溯源上传者
2 min read
来源消息: V2EX讨论帖,上传到微博的图片URL中含有用户的UID标识。
http://wx1.sinaimg.cn/mw690/9d0d09abgy1fj0wcs7aewj20ij0sn12y.jpg
通过提取文件名的前8位 9d0d09ab
并将其从16进制转换为10进制,可以获得用户的UID:2634877355
。
function charIndex(c) {
const code = c.charCodeAt(0);
if (code >= 48 && code <= 57) return code - 48; // '0'-'9'
if (code >= 97) return code - 87; // 'a'-'z'
return code - 29; // 'A'-'Z'
}
function extractUidFromUrl(url) {
const match = url.match(/\/([0-9a-zA-Z]{8})[^\/]*$/);
if (!match) return '';
const hash = match[1];
let base = hash.startsWith('00') ? 62 : 16;
let uid = 0;
for (let i = 0; i < hash.length; i++) {
uid = uid * base + charIndex(hash[i]);
}
return `https://weibo.com/u/${uid}`;
}
为了便于进行这种转换,博主开发了一个简易的反查器工具 微博图片反查上传者工具 此工具可以帮助用户快速从微博图片URL中提取并转换UID,进而可能溯源出图片的上传者。