0

我有一个生成随机盐的方法,然后我在上面使用 sha1() 。在我 sha1() 之后使用 base64_encode() 有多安全?当我说“安全”时,我的意思是,它是否有任何已知的碰撞或问题?我想使用 base64_encode() 作为一种使其在视觉上与 sha1() 哈希不同的方法,但不知道如果我这样做是否会使哈希(以任何方式)变弱。另外,有没有更好的方法来做我想要完成的事情,同时保持在 PHP4 中(是的,那就是 PHP 4)。

有几件事:我对加密不感兴趣,或者 base64_encode() 可以被解码。我知道它可以被解码。

4

2 回答 2

2

Base64不是散列算法(除其他外,这些算法是单向的),它是一种可逆编码算法 - 采用一种形式的输入并将其转换为另一种形式- 内容(及其加密属性)保持不变。

这类似于其他可逆编码 - 例如,向后写入字符串的哈希不会影响它的任何其他属性。

如您所见,这不会使内容更安全,也不会降低安全性 - 它只会以不同的方式呈现它们。

TL;DR:这毫无意义。

于 2012-05-30T06:25:23.587 回答
2

只需使用SHA-256就可以了。

PHP 4+ 的 SHA256 安全哈希算法
http://www.nanolink.ca/pub/sha256/

无需双重编码或加密。

于 2012-05-30T06:34:24.510 回答