0

我想知道如何将哈希值(例如 558f68181d2b0c9d57d41ce7aa36b71d9)重建为其原始格式(734)。

我在matlab中使用了一个代码,它为我提供了一个哈希输出,但我试图反转操作以获得原始值但没有用。我厌倦了从十六进制转换为二进制,但没有用。

是否有任何内置函数可以帮助我获得原始值?

我用过这段代码:

http://uk.mathworks.com/matlabcentral/fileexchange/31272-datahash

4

1 回答 1

0

一般来说这是不可能的。加密散列(如上面使用的 SHA-1)的整个想法是尽可能地不可预测。某些数据的散列应该总是相同的(当然),但应该很难预测哪些数据会导致某个散列。

如果您的值数量有限,您可能会创建一个查找表(哈希 -> 生成它的数据),但这实际上与它们的使用方式完全相反。

我认为您为这个问题创建自己的散列,您可以在其中内联以某种特定方式散列的数据。

于 2015-08-03T15:25:18.287 回答