Cryptography 正在尝试散列已知数据,但不允许用户重新创建散列

Cryptography 正在尝试散列已知数据,但不允许用户重新创建散列,cryptography,Cryptography,我的应用程序会根据其序列号(例如:A1C2-E3G-4I5K)创建一个哈希。用户知道序列号。散列也将为用户所知。在让用户无法/极难自己创建散列的同时,散列数据的最佳策略是什么 我使用散列作为显示远程应用程序上已发生操作的一种方式 我曾考虑过私钥加密,但用户可以自己获得私钥。在散列序列号之前,您可以尝试对序列号进行“盐析” 您可以查看一个。基本上,您可以在您的值上创建一个lets(比如SHA-256)散列加上一个只有您的应用程序知道的密钥。假设用户无法为自己创建有效的散列。在重新创建散列时,我如何

我的应用程序会根据其序列号(例如:A1C2-E3G-4I5K)创建一个哈希。用户知道序列号。散列也将为用户所知。在让用户无法/极难自己创建散列的同时,散列数据的最佳策略是什么

我使用散列作为显示远程应用程序上已发生操作的一种方式

我曾考虑过私钥加密,但用户可以自己获得私钥。

在散列序列号之前,您可以尝试对序列号进行“盐析”

您可以查看一个。基本上,您可以在您的值上创建一个lets(比如SHA-256)散列加上一个只有您的应用程序知道的密钥。假设用户无法为自己创建有效的散列。

在重新创建散列时,我如何知道要使用哪种盐?或者你是在建议非随机盐?盐/静脉注射不会起作用,因为这不是秘密。你需要一把钥匙,而不是静脉注射。你想达到什么目的?这听起来像是与软件许可有关的事情——如果是这样的话,你可能会发现这是一个解决了的问题(需要启动开源库)。非常感谢,比我自己开发的hack要好得多!