0

我对为我的应用程序创建许可证密钥很感兴趣,并且已经想到了一个系统如何进行激活,以便在不打扰我的客户的情况下将复制安全性降至最低。另外,我很清楚没有绝对的方法可以防止盗版,毕竟我不介意。

我对一般密钥生成更感兴趣。我能想到的第一种方法是使用 SHA、MD5 或任何其他流行的单向算法创建哈希。这些散列(大部分)很短,并且很容易为客户输入。但同时,我想在生成的激活密钥中包含其他数据,我想在客户端的应用程序中解密这些数据。但是大多数使用密钥加密数据的算法会产生随机长度的短语,这些短语的长度很容易超过 300 个字符。

是否有一种算法可以将字符串加密为具有预定义长度或模式的密文,然后可以解密?

4

2 回答 2

1

由于您希望许可证数据包含一些信息(可能是客户名称、到期日期等),也许您应该考虑生成一个包含加密数据的文本文件并将其发送给客户。然后他们可以从应用程序中选择该文本文件,而不是输入许可证密钥。

如果有在线激活过程,您可以简单地生成一个随机产品密钥,将其发送给客户端并对照中央激活数据库进行检查,然后在激活过程中将所有许可证数据传输给客户端。

于 2013-03-16T19:28:06.817 回答
0

不可以。数据的加密长度不能短于数据字符串的长度。

因此,如果您想包含比密钥代码更多的信息,那么您需要使用加密的许可证文件 (.lic),他们可以将其导入或将其内容复制并粘贴到表单中。

于 2013-03-16T19:29:41.477 回答