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)
相关推荐
jay神2 分钟前
森林火灾检测数据集
算法·机器学习·目标跟踪
80530单词突击赢15 分钟前
STLVector底层原理与高效运用
数据结构·算法
haluhalu.19 分钟前
LeetCode---基础算法刷题指南
数据结构·算法·leetcode
CHANG_THE_WORLD19 分钟前
PDF文档结构分析 一
前端·pdf
iAkuya25 分钟前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
80530单词突击赢26 分钟前
C++关联容器深度解析:set/map全攻略
java·数据结构·算法
m0_5613596727 分钟前
代码热更新技术
开发语言·c++·算法
东东51635 分钟前
果园预售系统的设计与实现spingboot+vue
前端·javascript·vue.js·spring boot·个人开发
rainbow688937 分钟前
Python学生管理系统:JSON持久化实战
java·前端·python
打小就很皮...40 分钟前
React Router 7 全局路由保护
前端·react.js·router