pwhash - 生成口令散列
pwhash [ -a <hashalgorithm> | -s <salt>] [ -u <user> ]
在没有参数的情况下,pwhash 会提示输入(及重新确认),并通过使用 crypt_gensalt(3C) 后跟 crypt(3C) 生成口令散列,然后在 stdout 中显示生成的散列。
如果从 stdin 重定向了输入,则会使用该输入。在 stdin 上只需要提供一次口令。从 stdin 读取时,如果最后一个字符是换行符,则会放弃该字符。
支持以下选项:
指定首选算法。如果不允许使用该算法,或该算法不存在,则会显示错误。
在 crypt.conf(5) 中,值与键成对使用。例如,__unix__、1、md5、2a、5 和 6。
完整指定算法和 salt。此选项会绕过 crypt_gensalt(3C) 调用,并将提供的 salt 直接传递到 crypt(3C)。此选项与 –a 互斥。
指定要用于 crypt_gensalt(3C) 的用户名。请注意:虽然 API 允许使用它,但当前 Oracle Solaris 中没有提供插件以使 crypt_gensalt(3C) 可利用它。
如果未找到用户,则会返回错误,且不生成散列。
显示用法消息。
以下示例通过键入口令生成基于 SHA256 的散列。
$ pwhash -a 5 Password: Re-enter Password: $5$DA/w/BgH$cB394/iYqj6pk/J6W0smfmKsGrYSGeWUvHsIMnUaZh.示例 2 通过使用系统缺省算法与 stdin 生成散列
以下示例通过使用系统缺省算法与 stdin 生成散列。
$ pwhash <<EOM Ap@ssW0rdOnStdIN EOM $5$abaev.V6$9uyBXruzgbZn/OhqtIbvrjHpuoyDFbkQkJ47pdZA/JC示例 3 通过使用指定的现有 salt 生成散列
以下示例通过使用指定的现有 salt 生成散列。
$ pwhash -s '$5$abaev.V6$' Password: Re-enter Password: $5$abaev.V6$0pPY.0X/4tsis67eCsMdJ63NO9cfHKokKvjtTOQ80jA示例 4 尝试使用已过时的算法生成散列
以下示例尝试使用已过时的算法生成散列
$ pwhash -a __unix__ Requested algorithm not allowed by current crypt policy, see policy.conf(5).
有关下列属性的说明,请参见 attributes(7):
|