有没有一个 ubuntu 命令可以识别密码加密类型?

有没有一个 ubuntu 命令可以识别密码加密类型?

我需要知道是否有命令或软件可以告诉我密码的加密类型。我知道我可以自己识别它,但我是初学者,没有时间。请帮忙!

答案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 usernameusername并用您感兴趣的帐户名称替换。

相关内容