在使用 openssl passwd -crypt
命令时,生成的加密密码中,盐值通常是存放在生成的加密字符串的头部位置。在使用 DES 加密算法时,通常是将盐值直接存放在加密后的密码字符串的前两个字符中。
例如,如果使用 openssl passwd -crypt
命令生成密码,会得到类似这样的结果:
bash
$1$W/x6sjE/$Fp2o0v5y4rwSkbKs6S3OZ/
在这个例子中,$1$W/x6sjE/
就是盐值,后续的 $Fp2o0v5y4rwSkbKs6S3OZ/
是使用盐值加密后的密码。
这个字符串中,$1$W/x6sjE/
就是盐值,它通常以一些特殊字符开头(在这里是 $1$
),然后后面是具体的盐值字符串。在验证密码时,系统会从这个字符串中提取盐值并使用它来验证密码的正确性。
bash
openssl passwd -crypt 123456
QIAZ4VWI/SGPc
bashopenssl passwd -crypt -salt QI 123456 QIAZ4VWI/SGPc
由此可以看出他用des算法把加密用的盐存放到的密文的前两位