Существует ли команда человечности, которая определяет типы шифрования пароля?

Я должен знать, существует ли команда или программное обеспечение, которое говорит мне, каков тип шифрования пароля пароль. Я знаю, что могу определить его сам, но я - новичок, и у меня нет времени для этого. Помогите!

-1
задан 6 December 2016 в 16:52

1 ответ

Я предполагаю, что Вы интересуетесь паролем, связанным с учетной записью пользователя в системе.

Изучают /etc/shadow при записи, соответствующей пользователю, которым Вы интересуетесь. Строка пароля начинается $ идентификатор $, где идентификатор является идентификатором метода шифрования пароля. Методы шифрования документируются в 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
}

Копия функциональное определение и вставка это при приглашении оболочки; можно затем назвать его как passwd_encryption_method username, заменив username с названием учетной записи, которой Вы интересуетесь.

2
ответ дан 28 September 2019 в 01:46

Другие вопросы по тегам:

Похожие вопросы: