如何生成序列号(注册号)?

kia*_*uno 5 objective-c osx-snow-leopard

如何生成用户可以用来注册应用程序的序列号?

我在考虑以下场景:

  • 用户尝试该应用程序.
  • 当他们想要购买应用程序时,他们会选择一个菜单项.
  • 应用程序生成一个代码,然后传递给网站以购买应用程序.
  • 用户输入从网站返回的代码.
  • 应用程序使用其生成的代码检查输入的代码.

如果用户丢失序列号,或者在重新安装操作系统后复制了应用程序,他们将需要网站的代码,这将返回一个特殊代码,允许应用程序获取为用户机器生成的原始代码.

Jos*_*ros 9

您可以使用非对称加密和散列来完成此任务:

  1. 您将公钥与应用程序捆绑在一起.
  2. 当用户购买应用程序时,他们提供他们的姓名和电子邮件地址.
  3. 该网站对用户的姓名和电子邮件地址进行哈希处理,使用您的私钥对哈希进行签名,并在Base64中提供结果以便于输入.
  4. 当用户将"代码"连同其名称和电子邮件地址一起输入您的应用程序时,您的应用程序可以验证它是否由您的私钥(只有您/ Web商店可以访问)签名,并且它匹配用户提供的名称和电子邮件.


Bre*_*ddy 1

有几个开源项目甚至不需要考虑这个问题。您可以专注于编写用户实际购买的商品。有一个名为Aquatic Prime的开源框架用于生成序列号。有许多门户网站可以与 Aquatic Prime 合作,例如Shine

当有一个完美的解决方案时,我不喜欢写一些“新”的东西(特别是因为这些项目是免费的)