2

我不想在 Android Market 上发布我的应用程序,但我会根据用户设备的 MAC 地址从我的网站创建一个许可证密钥。它还应包括到期日期。一旦用户在 android 设备中输入代码,它应该被识别。我读过它可以通过使用自定义公共加密来完成。在这种情况下,我应该实现:

  1. 我的应用程序中的一个函数,它获取设备的 MAC 地址并向用户显示一个字符串。
  2. 我网站上的一个函数,它拥有私钥并在第 1 点加密字符串。并添加到期日期
  3. 我的应用程序中的一个函数,它在第 2 点解密字符串。使用公钥并验证许可证密钥。

我已经阅读了很多关于 stackoverflow 和其他网站的讨论,但没有任何适用的......或者不清楚如何在我的场景中应用:(

你能给我提供解决这个问题的方法吗?有没有我想念的android原生的东西(我希望)?

非常感谢!马可

4

2 回答 2

0

我认为实现您的意图没有什么困难:

  1. 您的许可服务器必须有自己的私钥和公钥对。
  2. 然后您必须在第一次运行/安装期间在您的应用程序中创建私钥。它可以随机完成
  3. 然后您必须使用公钥在应用程序和服务器之间进行交换
  4. 在购买/许可过程中,您的应用程序应加密 MAC 地址或其他(gmail id、IMEI 代码等)发送到服务器 - 服务器存储密钥
  5. 为了检查许可证申请的有效性发送到服务器的 MAC 密码 - 服务器检查它是否存储在数据库中

如果您不知道如何实现私钥/公钥的东西 - 阅读手册,有很多Diffie-Hellman程序的实现 - 这很容易而且没什么特别的

于 2011-10-11T08:05:39.253 回答
0

我希望在未通过 Play 分发的应用程序上实施许可,但遇到了这个问题:

https://code.google.com/p/droidactivator/

也许它也会帮助你?

于 2013-04-03T03:05:11.567 回答