Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

В статье описана методика генерации хеша пароля  пароля в формате файла /etc/shadow.  Формат Формат генерируемого хеша (в качестве разделителей полей используется символ "$" ("доллар"):

Блок кода
$<код_алгоритма_хеширования>$<модификатор_входа>$<хеш_пароля>

Где:

...

  • код_алгоритма_хеширования — в данном примере используется gost12512hash;
  • модификатор_входа — последовательность символов, добавляемая к хешируемым данным (паролю) для предотвращения декодирования методом перебора, далее "соль". Далее в примерах используется соль saltsaltsaltsalt;
  • хеш_пароля — собственно хеш пароля, полученный после добавления соли.

Разделителем служит символ "$" (доллар). Например:

Блок кода
$gost12512hash$saltsaltsaltsalt$Y.AHSfY6w10hNisNhRQkl3YuAexXkTWxDAI2sipxMVG.wVHgZ5czD2wX2zMpptQEu2Wpfuo7DiAKDxDWe/IjS0

Для генерации хеша используется функция gost12_512_crypt() входящая в состав пакета libgost. Пакет libgost устанавливается в Astra Linux по умолчанию. Далее предполагается, что при установке пакета библиотека libgost.so размещена в файле /lib/libgost.so.2.0.2 (актуально для Astra Linux x.7, 1.6.12, 2.12.46). Проверить, где находится библиотека в используемом обновлении можно командой:

...

Для сборки программы требуется установить компилятор gcc (пакет gcc). Для установки пакета gcc в ALSE x.7 требуется подключить базовый репозиторий, в более ранних обновлениях Astra Linux Special Edition требуется подключить диск репозиторий диска со средствами разработки,  в Astra Linux Common Edition пакет может быть установлен . Команда для установки:

Command

sudo apt install gcc

...

Для генерации хеша пароля по алгоритму ГОСТ-2012-512 с помощью функции gost12_512_crypt() в Python установка дополнительных пакето12345678в пакетов не требуется.

Пример программы

...