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)
相关推荐
bearpping6 小时前
Nginx 配置:alias 和 root 的区别
前端·javascript·nginx
@大迁世界7 小时前
07.React 中的 createRoot 方法是什么?它具体如何运作?
前端·javascript·react.js·前端框架·ecmascript
January12077 小时前
VBen Admin Select 选择框选中后仍然显示校验错误提示的解决方案
前端·vben
. . . . .7 小时前
前端测试框架:Vitest
前端
xiaotao1317 小时前
什么是 Tailwind CSS
前端·css·css3
I_LPL7 小时前
hot100贪心专题
数据结构·算法·leetcode·贪心
颜酱8 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
战南诚8 小时前
VUE中,keep-alive组件与钩子函数的生命周期
前端·vue.js
发现一只大呆瓜8 小时前
React-彻底搞懂 Redux:从单向数据流到 useReducer 的终极抉择
前端·react.js·面试