【问题标题】:Get unique id of computer in python在python中获取计算机的唯一ID
【发布时间】:2019-02-16 07:45:43
【问题描述】:

我需要为我在市场上分发的每个软件生成许可证。我会将该许可证和计算机唯一 ID 存储在我的服务器数据库中。 所以,

  1. 目前计算机的唯一ID是什么?
  2. 如何在 Python-3 中获取它

我在 Google 上搜索过,但我得到的大多数答案都是使用 MAC Id,现在任何人都可以更改 MAC Id。所以,什么是最好的 id无法更改且在 Python-3

中可见

【问题讨论】:

  • 我可以得到 cmets,为什么我的问题被否决...?
  • 不是投票者,但您的问题非常广泛,非常固执己见,坦率地说,这似乎只是一个“给我代码”类型的问题。前两个不太适合这个网站,最后一个在这个社区中不受欢迎。我猜只是我的想法。另外,您的第一个问题没有意义,您是在问如何为每台需要您的软件的计算机生成唯一的 id?这也是非常有主见和广泛的。
  • 我没有要求完整的代码......我也没有完全依赖它,因为我在发布问题之前做了一些小研究......我只是想知道什么是独一无二的在python中可以看到的id...
  • 没有真正的唯一 ID。大多数人试图通过检查机器硬件来生成一个几乎唯一的指纹like this question。您是否只针对 Windows 机器?您也许可以使用操作系统的许可证 ID。
  • 不,回复您的编辑@MooingRawr。我想要计算机的唯一 ID,而不是我创建的...

标签: python python-3.x license-key


【解决方案1】:

如果您想要 Windows 机器的唯一 ID,即 UUID,这里有一个简单的函数来获取它:

import subprocess
def GetUUID():
    cmd = 'wmic csproduct get uuid'
    uuid = str(subprocess.check_output(cmd))
    pos1 = uuid.find("\\n")+2
    uuid = uuid[pos1:-15]
    return uuid
print(GetUUID())

【讨论】:

  • 所有电脑都修复了吗?
  • 这是 MS 使用的 UUID 的信息:en.wikipedia.org/wiki/UUID,但简短的回答是肯定的。它通常在 MS 生态系统中用于此目的,因此在上面的代码中,我只是进入 MS 命令行以从那里获取 UUID 并将其拉入 Python。只要您只需要在 Microsoft Windows 机器上运行您的应用程序,就可以正常工作。
【解决方案2】:

很多anwsers是如此天真和复杂,我google了很多,我无法得到一个满意的答案。所以这是我的结论:

  • 对于 UUID:

     from wmi import WMI
     from sys import platform
    
     def get_device_uuid():
      if platform == "linux" or platform == "linux2":
          # linux
    
      elif platform == "darwin":
          # OS X
      elif platform == "win32":
          return WMI().Win32_ComputerSystemProduct()[0].UUID
    
  • 设备名称:

    def get_device_name():
      if platform == "linux" or platform == "linux2":
          my_system = platform.uname()
          return '{}-{}'.format(my_system.system, my_system.node)
      elif platform == "darwin":
          my_system = platform.uname()
          return '{}-{}'.format(my_system.system, my_system.node)
      elif platform == "win32":
          a = WMI().Win32_ComputerSystemProduct()[0]
          return '{}-{}'.format(a.Manufacturer, a.Name)
    

【讨论】:

  • 谢谢!现在正在删除 WMIC 工具,所以这个答案很棒。
猜你喜欢
  • 2013-07-05
  • 2011-01-28
  • 1970-01-01
  • 2011-03-29
  • 2011-03-17
  • 2012-02-23
  • 2011-09-13
  • 2012-11-04
  • 2011-01-01
相关资源
最近更新 更多