我正在建立一个安全性比较重要的网站(再说一遍,什么时候不重要?),我正在寻找存储密码的最佳方式。我知道 MD5 与 SHA-1 一样存在冲突问题,因此我正在考虑通过 SHA-256 或 SHA-512 存储我的密码。
存储较长的散列变体而不是较小的散列变体是否更明智?(即 512 与 256) 与 SHA-256 编码的密码相比,破解 SHA-512 编码的密码需要更多的时间吗?
另外,我读过有关使用“盐”作为密码的信息。这是什么以及它是如何工作的?我是否只是将盐值存储在另一个数据库字段中?如何将其用作哈希值计算的一部分?