0

我想制作一个生成随机序列号或文本/数字的代码,并且生成的代码可以由一个应用程序解密并获得相同的输出。换句话说,我想生成这些随机代码并将它们用于激活产品。所以用户需要联系我向他发送生成的代码,他将在应用程序(android)上使用该代码,它会让他登录。如此多的生成代码将在同一个应用程序上运行。我想到的一个例子是暴雪验证器。它生成许多密钥,用户可以插入任何这些密钥进行登录。

我想在 android 上实现一个 vb.net 代码来生成密钥和一个算法来解密它们并获得有效的输出。有小费吗?

4

1 回答 1

0

加密是一件有趣的事情。您想要实现的是对任意字符串的加密,这也可以是

MyApp version 3.5 serial no #434376

您可以如上所述对其进行编码,但随后每个人都会清楚地理解并能够对其进行修改。你可以把它翻译成一些鲜为人知的语言,从而消除世界上几乎所有其他地方,但除非这些数字被进一步编码,否则每个人仍然可以修改它们。一个简单的反复试验很快就会为想要成为海盗的人提供结果。

或者你可以用你刚刚编写的一些密码对其进行编码,例如

CAC53X673434

这里 CAC 代表“我的应用程序”,X 代表“序列号 #”,所有数字都颠倒过来。

这一切都很好,但你仍然没有任何安全感。任何用户都可以随时更改这些数字中的任何一个,并且您的应用程序仍会将此类序列号注册为有效(只要它的长度正确并且包含 CAC 和 X 以及这两个数字)。

那时您还可以在代码末尾添加校验和,例如CRC :

CAC53X673434FG

在这种情况下,FG 是从前面的字符串计算出来的一些校验和。您的串行生成器可以计算此校验和,您的应用程序也可以生成它。该应用程序只是执行此额外检查以查看生成器提供的校验和是否与其计算的匹配。

这是你的想法吗?

于 2013-11-12T08:03:45.033 回答