Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取python中计算机的唯一id_Python_Python 3.x_License Key - Fatal编程技术网

获取python中计算机的唯一id

获取python中计算机的唯一id,python,python-3.x,license-key,Python,Python 3.x,License Key,我需要为我在市场上分发的每个软件生成许可证。我将在我的服务器数据库中存储该许可证和计算机唯一id。 所以 当前计算机的唯一Id是什么 如何在Python-3中获取它 我在谷歌上搜索过它,但我得到的大多数答案都是使用MAC Id,现在任何人都可以更改MAC Id。因此,在Python-3中无法更改且可见的最佳Id是什么 import subprocess def GetUUID(): cmd = 'wmic csproduct get uuid' uuid = str(subpro

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

  • 当前计算机的唯一Id是什么
  • 如何在Python-3中获取它

  • 我在谷歌上搜索过它,但我得到的大多数答案都是使用MAC Id,现在任何人都可以更改MAC Id。因此,在Python-3中无法更改且可见的最佳Id是什么

    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())
    

    很多Anwser都是如此的天真和复杂,我在谷歌上搜索了很多,却找不到令人满意的答案。因此,我的结论如下:

    • 对于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)
      

    我能得到评论吗,为什么我的问题被否决了…?不是被否决的选民,但你的问题非常广泛,非常固执己见,坦率地说,似乎只是一个“给我代码”类型的问题。前两个不适合本网站,后一个在本社区不受欢迎。我想这是我的想法。另外,您的第一个问题也没有意义,您是否在问如何为需要您的软件的每台计算机生成唯一的id?这也是非常固执己见和广泛的。我没有要求完整的代码…也没有完全依赖它,因为我在发布问题之前做了一些小研究…我只想知道python中可以看到的唯一id是什么…实际上没有唯一的id。大多数人试图生成一个基本上唯一的指纹,通过检查机器硬件。你的目标仅仅是windows机器吗?您可能可以使用操作系统的许可证id。否,请回复您的编辑@MooingRawr。我想要计算机的唯一id,而不是我创建的那个…它对所有计算机都是固定的吗?以下是MS使用的UUID的信息:但简短的回答是肯定的。这通常是在MS eco系统中用于此目的的,因此在上面的代码中,我只是进入MS命令行,从那里获取UUID,并将其拉入Python。只要您只需要在Microsoft Windows计算机上运行应用程序,这就可以正常工作。