我需要知道是否有命令或软件可以告诉我密码的加密类型。我知道我可以自己识别它,但我是初学者,没有时间。请帮忙!
答案1
我假设您对系统上用户帐户关联的密码感兴趣。
查看/etc/shadow
您感兴趣的用户对应的条目。密码字符串以$
id开头$
,其中ID是密码加密方法的标识符。加密方法记录在 中man 3 crypt
。
这是一个小型 Bash 函数,用于查找用户帐户的密码加密类型:
passwd_encryption_method()
{
crypt_id="$(
sudo grep "$1:\\$" /etc/shadow |
sed 's/^[^:]*:$\([^$]*\)$.*/\1/'
)"
if test -z "$crypt_id"; then
echo Cannot find user "$1", or "$1" has no password
return 1
fi
case "$crypt_id" in
(1) echo MD5;;
(2a) echo Blowfish;;
(5) echo SHA-256;;
(6) echo SHA-512;;
(*) echo Unknown method, id="$crypt_id";;
esac
}
复制函数定义并将其粘贴在 shell 提示符下;然后您可以将其调用为passwd_encryption_method username
,username
并用您感兴趣的帐户名称替换。