正在阅读另一篇文章,使用盐的例子是:
openssl passwd -crypt -salt foo bar
foXrpAKGo3142
但如果我把盐换成
openssl passwd -crypt -salt foo111 bar, I still get
foXrpAKGo3142
盐长度有限制吗?好像是2个字符。
谢谢!
答案1
通过crypt
算法,盐限制是12位。其他算法支持更长的盐;与openssl passwd
,您应该使用-5
或-6
。
也可以看看如何找到用于哈希密码的哈希算法?
答案2
-crypt
的算法是openssl passwd
遗留算法,不应再使用。它可以以适中的成本进行暴力破解。这是传统的基于 DES 的crypt()
密码哈希算法这是在第七版 Unix1979 年。它将盐限制为 2 个可打印 ASCII 字符,将密码限制为 8 个可打印 ASCII 字符。除了用于历史目的或在极其过时(且不安全)的系统上之外,它没有任何实际价值。
在代码示例中使用它的任何人要么不知道他们在说什么,要么不关心提供好的建议。如果您openssl passwd -crypt
在示例中看到除非常古老的遗留用法之外的任何内容,请逃跑。
对于密码散列,请按优先顺序使用:
OpenSSL 仅实现 Unix 算法(openssl passwd -5
或openssl passwd -6
,-5
在 32 位机器和-6
64 位机器上稍快一些)。
这些都没有使用少得离谱的盐(按照今天的标准)。