通过微博图片地址溯源上传者

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,进而可能溯源出图片的上传者。

微博图片反查上传者