Как openssl дешифрует пароль

На самом деле, как это часто бывает с vim, если вы можете подумать об этой функции, то, вероятно, кто-то ее реализовал.

В данном случае, Вы, вероятно, ищете плагин Colorizer. Обратите внимание, что хотя этот плагин "работает лучше всего" с gvim, он поддерживает 88 и 256 цветных терминалов.

С сайта скрипта:

Идея заключается в том, чтобы выделить имена и коды цветов в том же цвете, который они представляют. Плагин понимает W3-цвета (например, используемые для CSS-файлов), имена цветов из X11 Window System, а также коды в шестнадцатеричной нотации, такие как #FF0000 (который в цветовой системе RGB представляет красный цвет). Кроме того, он поддерживает цветовые спецификации CSS, например rgb(RR,GG,BB) представление цвета либо в абсолютных значениях, либо в процентах, а также представление HVL Color типа hvl(H,V,L)

Edit: Вы не упомянули, какую операционную систему вы используете, но установка довольно проста, даже если она выполняется вручную. Однако, если вы используете Arch Linux, я упаковала этот плагин, и он доступен для установки через AUR.

Screenshot for completion

1
13.12.2014, 18:20
3 ответа

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

Соль приведена в полученном хеш.

Например

 openssl passwd -1 foo
 $1$pyuddMjp$3.deTnHdrVVVLoh5zkQ0B.

Где

  • 1 - протикол (MD5 здесь)
  • pyuddmjp - это соль

Если я хочу вернуть вас, вы знаете Passwd (т.е. foo), мне нужно сравнить, результирующее хеш, используя passwd вариант с солью.

  • с x = bar

    openssl passwd -1 -salt pyuddmjp $ x $ 1 $ pyuddmjp $ knkqhwof8wvh7oxvae5yx1

  • с x = foo

    OpenSSL Passwd -1 -Salt pyuddmjp $ x $ 1 $ pyuddmjp $ 3.detnhdrvvvloh5zkq0b.

1
27.01.2020, 23:51

Прежде всего, команда OpenSSL обычно не используется для шифрования паролей. Вы можете прочитать о OpenSSL в http://en.wikipedia.org/wiki/openssl

на паролях систем Unix зашифрованы с однимсторонним ходом, поэтому нет способа расшифровки их, чтобы вернуть оригинал Отказ

Одним из способов шифрования солью обычно является предварительно определенной строкой или генерируется из простой текстовой версии, например, первых нескольких символов, и вы будете использовать это, чтобы восстановить хеш и сравнить их.

Вы упомянули PHP, вы можете проверить функцию PHP для получения дополнительной информации.

0
27.01.2020, 23:51

Основываясь на принятом ответе. Я хотел убедиться, что хэш пароля совпадает с паролем, который был первоначально установлен -или , а считался установленным.

Во-первых, я не хочу, чтобы пароли отображались в истории командной строки, поэтому для

# cat > pass.txt
mypasswd1
<ctrl>+d

# cat > badpass.txt
faulty
<ctrl>+d

Затем я создаю хэш MD5:

# RET=$(openssl passwd -1 -in pass.txt)
# echo $RET
$1$nhyuaE7S$ld2wuucUlRUQE8iAnJhjF/

«Соль» — это третье поле, разделенное символом $ (, включая начальное/пустое поле ). Спасение «соль»

# SALT=$(echo $RET | cut -d\$ -f 3)
# echo $SALT
nhyuaE7S

Итак, чтобы увидеть, действительно ли пароль соответствует хешу MD5, я сравниваю хеш, который я сохранил в переменной $RET, с первой строкой «теста».

# echo "$RET" ; openssl passwd -1 -salt "$SALT" $(cat pass.txt) "$RET"
$1$nhyuaE7S$ld2wuucUlRUQE8iAnJhjF/
$1$nhyuaE7S$ld2wuucUlRUQE8iAnJhjF/
$1$nhyuaE7S$3pGvIF7UwuvhJjXzR4Yb.0

Вроде совпадают, давайте diffпроверим:

# diff <(echo "$RET") <(openssl passwd -1 -salt "$SALT" $(cat pass.txt) "$RET" | head -1)
# echo $?
0

Пока все хорошо, но давайте также проверим «плохой» пароль, чтобы убедиться, что у нас нет совпадения.

# echo "$RET" ; openssl passwd -1 -salt "$SALT" $(cat badpass.txt) "$RET"
$1$nhyuaE7S$ld2wuucUlRUQE8iAnJhjF/
$1$nhyuaE7S$t6MTdY2QafzUtBMMVzf5B.
$1$nhyuaE7S$3pGvIF7UwuvhJjXzR4Yb.0

# diff <(echo "$RET") <(openssl passwd -1 -salt "$SALT" $(cat badpass.txt) "$RET" | head -1) >/dev/null
# echo $?
1

Итак, теперь у нас есть тест, который на самом деле может «доказать», что сохраненный хэш MD5, то есть в файле конфигурации, соответствует паролю, который мы считаем правильным.

Пожалуйста, сообщите в комментариях, если какое-либо из моих предположений ошибочно или неверно.

0
24.09.2020, 15:31

Теги

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