Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

pwhash (1)

名称

pwhash - 生成口令散列

用法概要

pwhash [ -a <hashalgorithm> | -s <salt>] [ -u <user> ] 

描述

在没有参数的情况下,pwhash 会提示输入(及重新确认),并通过使用 crypt_gensalt(3C) 后跟 crypt(3C) 生成口令散列,然后在 stdout 中显示生成的散列。

如果从 stdin 重定向了输入,则会使用该输入。在 stdin 上只需要提供一次口令。从 stdin 读取时,如果最后一个字符是换行符,则会放弃该字符。

选项

支持以下选项:

–a
–-algorithm=<algorithm>

指定首选算法。如果不允许使用该算法,或该算法不存在,则会显示错误。

crypt.conf(5) 中,值与键成对使用。例如,__unix__1md52a56

–s
–-salt=<salt>

完整指定算法和 salt。此选项会绕过 crypt_gensalt(3C) 调用,并将提供的 salt 直接传递到 crypt(3C)。此选项与 –a 互斥。

–u
–-user=<user>

指定要用于 crypt_gensalt(3C) 的用户名。请注意:虽然 API 允许使用它,但当前 Oracle Solaris 中没有提供插件以使 crypt_gensalt(3C) 可利用它。

如果未找到用户,则会返回错误,且不生成散列。

–h
–-help

显示用法消息。

示例

示例 1 通过键入口令生成基于 SHA256 的散列

以下示例通过键入口令生成基于 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)

属性类型
属性值
接口稳定性

另请参见

crypt(3C)crypt_gensalt(3C)policy.conf(5)crypt.conf(5)