【发布时间】:2013-10-14 19:27:48
【问题描述】:
阅读generating salt using Cryptographically Secure Pseudo-Random Number Generator (CSPRNG)。然后,此盐将附加到需要散列的字符串中。
但是,CSPRNG 函数生成的盐(对于 PHP,我使用的是openssl_random_pseudo_bytes)实际上是二进制数据。
对于如何将此二进制数据附加到字符串感到困惑,我看到了PHP example for creating hash。它对二进制数据进行编码。
所以我只是想知道这是否是我需要做的。我需要对盐进行编码以获得字符串。然后我可以将该盐附加到需要散列的字符串中。还是有其他方法可以在字符串中添加盐?
注意我没有散列密码
【问题讨论】:
-
你在散列密码吗?在这种情况下,您应该使用专门的密码哈希函数来处理所有这些问题。例如,对于基于 bcrypt 的散列,有一种使用 variant of Base64 的标准技术。
-
那么使用盐是不寻常的。加密时,我们通常使用 IV。如果没有足够的背景信息,我们无法真正帮助您。
-
为什么需要将盐转换为字符串?哈希函数将字节作为输入。
标签: php encryption encoding cryptography