如何使用python上的唯一许可证密钥保护程序?

问题描述 投票:0回答:1

我需要在程序上设置密钥,这将是一个exe文件。我想看:

用户单击exe文件,然后程序重新请求密钥,用户粘贴密钥,并且密钥不再询问。用户无法将此激活的exe发送给其他用户,其他用户也不能再次使用此密钥。

或提出更好的主意。

p。 C。 exe文件是控制台应用]

python protection
1个回答
0
投票

例如,您可以使用平台模块来(几乎)唯一地标识机器。然后,它们的键可以是被视为字符串的此标识符的sha256十六进制摘要,如下所示:

import hashlib
import platform

# Only an example, you can add whatever you want provided by the platform module to identify the machine
identifier = platform.platform() 
key = hashlib.sha256(identifier.encode()).hexdigest()

优点:

  1. 无法共享
  2. 不可重用

缺点:

  1. 不尊重Kerchkoff's principle

因此,这意味着您的系统是安全的,只要用户不知道如何自己计算标识符。

您可以使用自己的服务器对此模型进行阐述。例如,您可以使用计算出的标识符和秘密字符串在服务器上计算密钥。

优点:

  1. 您不必为每个用户存储一个随机密钥,只需要访问其标识符即可

缺点:

  1. 如果您的标识符不够准确,则两个用户可能具有相同的密钥

要解决此问题,您可以为附加到其标识符的每个用户定义一个随机字符串,但这意味着您必须为每个用户存储此随机字符串。

还要注意,最后两个解决方案使用了外部服务器。因此,您假设您将能够进行网络请求。

© www.soinside.com 2019 - 2024. All rights reserved.