/etc/shadow :如何生成 $6$ 的加密密码?

Arc*_*mar 33 password hashsum shadow

在/etc/shadow文件中有加密的密码。

加密密码不再是crypt(3)md5 或“type 1”格式。(根据这个以前的答案)现在我有一个

$6$somesalt$someveryverylongencryptedpasswd
Run Code Online (Sandbox Code Playgroud)

作为入口。

我不能再使用

 openssl passwd -1 -salt salt hello-world
 $1$salt$pJUW3ztI6C1N/anHwD6MB0
Run Code Online (Sandbox Code Playgroud)

生成加密密码。

任何等价物(不存在)..?

 openssl passwd -6 -salt salt hello-world
Run Code Online (Sandbox Code Playgroud)

Cra*_*een 39

在基于 Debian 的系统上,您可以使用mkpasswd.

mkpasswd -m sha-512 PASSWORD [SALT]
Run Code Online (Sandbox Code Playgroud)

(PASSWORD是您想要的密码;SALT是可选的。)

奇怪的是,该工具在whois包中。

sudo apt-get install whois
Run Code Online (Sandbox Code Playgroud)

  • +1 用于安装的 `whois` 软件包名称。 (5认同)
  • 为了澄清起见,`PASSWORD` 是你想要的密码,而 `SALT` 在这里解释:https://en.wikipedia.org/wiki/Salt_%28cryptography%29 可以省略。 (2认同)

Scy*_*aud 33

Python:

python -c 'import crypt; print crypt.crypt("password", "$6$saltsalt$")'
Run Code Online (Sandbox Code Playgroud)

(对于python 3及更高版本,它将是print(crypt.crypt(..., ...)))

珀尔:

perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
Run Code Online (Sandbox Code Playgroud)

  • 请记住,其他用户可以通过 `ps` 看到命令行参数。使用真实密码时,不要使用这些命令;而是将它们转换为从标准输入或文件读取密码的脚本。 (4认同)
  • 对于 Python 2.7 和 3.3:`python -c 'import crypt,getpass; 打印(crypt.crypt(getpass.getpass(),crypt.mksalt(crypt.METHOD_SHA512)))'` (2认同)