Centos中是否可以将用户密码设置为MD5哈希值?

Centos中是否可以将用户密码设置为MD5哈希值?

我想在 Centos 中将用户的密码设置为 MD5 哈希值。我的意思是我不知道密码,但我有哈希 MD5 值 (md5sum)。是否可以?

详细说明:我要设置的新密码:123 '123'的 MD5 值为:dak37yd2o9d8m2ype9n8283up1m2 我想运行这样的命令:

echo dak37yd2o9d8m2ype9n8283up1m2 | passwd --stdin -md5 myuser

所以myuser可以使用密码123登录

答案1

警告:我相信您已经多次听说过,md5 是一个损坏的哈希函数。存储用它散列的密码仅比纯文本好一点。

经过大量研究,包括在自己的系统上尝试,我还是无法找到使用未加盐的现有哈希的方法。如果您仍然可以访问密码,或者可以访问知道密码的人,则可以使用它chpasswd -e来生成加盐哈希。

如果您有加盐哈希,请正常将用户添加到您的系统(如果您尚未这样做)。选择您喜欢的任何密码,我们稍后将覆盖它。打开该/etc/shadow文件,然后编辑以您的用户的用户名开头的行。将第二个字段(第一个冒号之后,第二个冒号之前)替换为:

$1$salt$hash

其中 $salt$ 是你的盐,$hash$ 是 crypt base-64 格式的 md5 哈希(https://www.linuxquestions.org/questions/linux-security-4/how-can-i-convert-a-sha-512-etc-shadow-hash-to-base64-4175477045/)。

如果哈希值未加盐,并且您无法通过正常方式访问密码,那么使用类似的方法hashcat来破解它可能是一个可行的选择。

相关内容