2012-12-05 31 views
0

我有一种情况,我的应用程序根据它的序列号创建哈希(例如:A1C2-E3G-4I5K)。该序列对用户是已知的。哈希也将为用户所知。散列数据的最佳策略是什么,同时使用户无法或很难自行创建散列?试图哈希已知数据,但不允许用户重新创建哈希

我使用散列作为显示远程应用程序发生操作的方式。

我曾想过私钥加密,但用户可以自己掌握私钥。

+0

你想达到什么目的?这听起来像是与软件许可有关的东西 - 如果是这样,你可能会发现这是一个解决的问题(使用开源库引导)。 –

回答

1

你可以寻找到一个Keyed-HMAC之前“盐析”的序列号。基本上,你创建一个可以说你的价值SHA-256哈希值加上一个秘密密钥,只有你的应用程序已知。有了这个假设,用户将无法为自己创建有效的散列。

+0

非常感谢,比我的本土黑客好多了! – Brian