【发布时间】:2015-10-13 16:21:23
【问题描述】:
我使用盐字符串“world”对密码字符串“hello”进行了编码(sha512 哈希),并将该字符串保存在一个文件中。
hex: 2b83319d3e78544e4430c4f5621968fee8b6ffa1254678b2c6fb98f7f79ff16afee2da909a7bb741488ca3bacbbf6cec8fd226c5a52eef805ea65a352e2ece8e
base64: K4MxnT54VE5EMMT1Yhlo/ui2/6ElRniyxvuY9/ef8Wr+4tqQmnu3QUiMo7rLv2zsj9ImxaUu74Beplo1Li7Ojg==
现在在我的程序中,我得到了盐渍“hello”的上述编码值和新的密码字符串“hello”。我必须再次使用相同的盐对“hello”进行编码并比较输出。是否可以从上述输出中提取盐?
【问题讨论】:
-
你还需要储存盐。请参阅 #1 相关问题:stackoverflow.com/questions/213380
-
没有。所有加密哈希都设计为单向函数。
-
此外,虽然您在文本文件中存储 hex 或 base64 编码的哈希值在技术上是正确的,但哈希值本身是不是任何东西的编码。信息丢失了——这就是重点。
标签: hash cryptography salt sha2