gpt4 book ai didi

language-agnostic - 开发简单的序列号生成器/验证器的好方法是什么?

转载 作者:行者123 更新时间:2023-12-01 23:30:24 24 4
gpt4 key购买 nike

我正在开发一款应用程序,希望有一天能够出售——宜早不宜迟!我想开发一个相当简单的序列号方案来保护它。

  • 简单的数字/字母组合,长度不超过 25-30 个字母数字字符(例如 Microsoft 产品 key )
  • 不要求用户输入任何个人信息(例如电子邮件地址)作为验证的一部分

我一直在思考这个问题(很少),我认为公钥加密是一个很好的起点。我可以生成一个标识许可证的字符串(例如 SKU + 普通 ole' 完整序列号),对其进行散列、加密,然后将序列号 + 标识符编码为 25 位(左右)字母数字 key 。然后,应用程序会将 key 解码为序列号和“签名”,生成标识符哈希,使用相应的公钥解密“签名”,并将其与生成的标识符哈希进行比较。

本质上,产品 key 包含两部分数据:用户声称拥有的序列号以及程序可用于验证该声明的各种签名。我不知道 25 个字母数字字符(每个字符编码 5 位,实际总数为 120 位)是否足以满足所有这些需求。但是,它不必是加密安全的,只要代码不易被猜到即可。我可以接受较短的 key 长度和较短的哈希值。

就实现而言,该应用程序是用适用于 Mac OS X 的 Objective-C 编写的,但考虑到将代码注入(inject) Cocoa 应用程序是多么容易,我可能会直接用 C 编写验证代码。

最佳答案

我不会使用任何强大的加密技术,因为无论如何你都必须在程序中解密它,从而使注册机或至少破解变得容易。

我会执行以下操作 - 取一个 25 位数字。现在添加一些规则,例如: - 数字必须能被 31 整除 - 必须以最后一个字母开头和结尾 ...

始终使用这些规则生成 key 。使用 20 条或更多规则(越多越好)。部署应用程序时,使用较少数量的规则,例如10 检查 key 是否有效。然后这些规则将被反汇编并用于创建注册机。

每次更新时启用您之前未使用过的规则之一。如果规则选择正确,您将禁用 keygens 生成的大部分 key 。

关于language-agnostic - 开发简单的序列号生成器/验证器的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com