PC微信 device uuid 算法

复制代码
获取出cpuid和 maclist。然后进行2次md5运算。

完整代码如下
import hashlib


def calculate_device_id():
    mac_all = "1C1B0D0E9398"
    cpuidtxt = "3219913727"


    # 将无符号整数转换为有符号整数
    cpuid_unsigned = int(cpuidtxt)
    if cpuid_unsigned > 0x7FFFFFFF:  # 如果大于最大有符号整数
        cpuid_signed = cpuid_unsigned - 0x100000000
    else:
        cpuid_signed = cpuid_unsigned



    # 使用有符号整数参与运算
    cpuidtxt = str(cpuid_signed)
    # print(cpuidtxt)
    
    # 第一次MD5
    mac_bytes = bytes.fromhex(mac_all)
    macmd5 = hashlib.md5(mac_bytes).hexdigest().lower().replace(" ", "")

    # 组合字符串
    dev_md5 = macmd5 + cpuidtxt

    # 第二次MD5
    dev_bytes = dev_md5.encode('utf-8')
    dev_hex = dev_bytes.hex()
    dev_md5 = hashlib.md5(bytes.fromhex(dev_hex)).hexdigest().lower().replace(" ", "")

    # 添加前缀并截取
    result = "W" + dev_md5
    return result[:17]


# 使用示例
if __name__ == "__main__":
    device_id = calculate_device_id()
    print("生成的设备ID:", device_id)
相关推荐
y***866914 小时前
前端PWA应用特性使用指南
前端
语落心生14 小时前
海量数据集AI自动化打标 - 温度周期检测
算法
天空陪伴星辰a14 小时前
表单校验问题
前端·javascript·表单校验
语落心生14 小时前
海量数据集的AI自动化预测打标 -- 矿业音频分类
算法
吃着火锅x唱着歌14 小时前
LeetCode 3185.构成整天的下标对数目II
算法·leetcode·职场和发展
鱼鱼块14 小时前
《最小栈的巧妙设计:用辅助栈实现 O(1) 获取最小值》
javascript·算法·面试
San3014 小时前
反转字符串与两数之和:两道简单题背后的 JavaScript 思维深度
javascript·算法·面试
孟祥_成都14 小时前
前端角度学 AI - 15 分钟入门 Python
前端·人工智能
掘金安东尼14 小时前
Astro 十一月更新:新特性与生态亮点(2025)
前端
拉不动的猪14 小时前
判断dom元素是否在可视区域的常规方式
前端·javascript·面试