0

我们使用 XML 数字签名来签名和验证我们的许可证密钥。签约工作正常,运行顺利。XML 许可证文件包含有关许可证的一些(明文)详细信息以及二进制签名。

我们想对那些明文细节(许可期限、用户名等)进行编码(我不是说加密),这样窥探者就不会立即看到它们。是否有人们在这种情况下使用的标准(例如,base 64 或其他标准)?它不需要安全或特别聪明,只要足以隐藏记事本中的信息即可。

编辑:我们正在使用 .NET/C#。

谢谢 : )

4

4 回答 4

1

只需使用异或。XOR 是一件好事(如果使用得当),即使在 RC4 等密码算法中也能使用。通过使用异或,我的意思是取一些在您的应用程序中保持不变的文本字符串,然后将文件的第一个字节与该字符串的第一个字节进行异或,然后将文件的第二个字节与该字符串的第二个字节异或,依此类推。然后从字符串的开头开始。这就是流密码的工作方式。在您的代码中找到的字符串(与某个常数相反)将使黑客的工作稍微复杂一点。

于 2010-05-27T20:55:59.197 回答
0

作为许可证密钥的用户,我建议不要进行这种混淆。在审核许可证以确定您所指的详细信息时,它通常非常有用。如果我可以从 xml 描述中获取它们,则可以节省大量时间。它还有助于发现错误部署的许可证。如果我发现颁发给 example.com 而不是我工作的组织的密钥,我知道我们需要解决这个问题。如果发给ZXhhbXBsZS5jb20K(base64中的example.com),我不会三思而后行。我还必须确保按时更新许可证。何时更新 MjAxMC0wNi0wMQo= 到期的许可证?

于 2010-05-27T20:13:55.880 回答
0

一个简单的十六进制编码就可以做到这一点。它也很容易解码。如果您提及您正在使用哪种语言或平台编写代码,那么有人可以提出更具体的建议。

于 2010-05-27T20:03:14.770 回答
0

如果您只是想混淆细节,那么我认为 Base64 或等效的编码机制就可以了。

我不熟悉您正在尝试做什么的任何标准,因为大多数人会争辩说您正在尝试做的事情并没有真正实现任何目标(因为它属于“安全通过朦胧”)。

于 2010-05-27T20:04:39.460 回答