2010-06-28 62 views
5

我该如何生成一个用户可以用来注册应用程序的序列号?如何生成序列号(注册号)?

我想以下场景:

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

如果用户丢失了序列号或复制后重新安装操作系统的应用程序,他们需要的代码的网站,该网站会返回一个特殊的代码,允许获得所产生的应用程序的原代码用户的机器。

+2

你描述不会在情况下的工作方案,其中一个用户试图重新在不同的机器上注册应用程序,甚至在同一台机器上注册应用程序,但应用程序生成的代码在购买后已丢失。 – 2010-06-28 04:26:26

回答

2

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

我不喜欢写东西“新”时,有一个非常好的解决方案在那里(特别是因为这些项目都是免费的)

9

你可以使用非对称加密和散列,做到这一点:

  1. 您捆绑与应用你的公钥。
  2. 当用户购买应用程序时,他们提供他们的姓名和电子邮件地址。
  3. 该网站对用户名和电子邮件地址进行散列处理,使用私钥对散列进行签名,并在Base64中提供结果以便轻松打字。
  4. 当用户将“代码”连同他们的姓名和电子邮件地址一起输入到您的应用程序中时,您的应用程序可以验证它是否由您的私钥(只有您/网上商店有权访问)签名,以及它匹配用户提供的名称和电子邮件。
+1

任何代码示例或参考? – 2010-08-11 16:31:54