我的应用程序根据其序列号创建哈希(例如:A1C2-E3G-4I5K)。序列号为用户所知。用户也将知道散列。什么是散列数据的最佳策略,同时使用户无法/极难自己创建散列?
我使用散列作为显示远程应用程序上发生了操作的一种方式。
我曾考虑过私钥加密,但用户有可能自己掌握私钥。
我的应用程序根据其序列号创建哈希(例如:A1C2-E3G-4I5K)。序列号为用户所知。用户也将知道散列。什么是散列数据的最佳策略,同时使用户无法/极难自己创建散列?
我使用散列作为显示远程应用程序上发生了操作的一种方式。
我曾考虑过私钥加密,但用户有可能自己掌握私钥。
您可以查看Keyed-HMAC。基本上,您可以在您的值上创建一个 SHA-256 哈希值以及一个只有您的应用程序知道的密钥。在这种假设下,用户将无法为自己创建有效的哈希。
您可以在散列之前尝试“加盐”序列号 http://en.wikipedia.org/wiki/Salt_%28cryptography%29