Это связано с тем, что шифрование на основе DES (AKA 'descrypt') усекает пароли до 8 байтов и проверяет только первые 8 с целью проверки пароля.
Это ответ на ваш прямой вопрос, но вот несколько общих советов, подразумеваемых вашим контекстом:
К счастью, из моего прочтения, MD5
in /etc/login.defs
фактически является md5crypt ($ 1 $), который, хотя и немного устарел и объявлен его автором устаревшим , все же намного превосходит крипту на основе DES (и определенно намного лучше, чем простой, несоленый хеш, такой как обычный MD5! Большинство несоленых хэшей можно взломать на товарных графических процессорах со скоростью миллиардов в секунду)
Похоже SHA256
(на самом деле sha256crypt) и SHA512
(на самом деле sha512crypt) тоже есть. Я бы выбрал один из них.
Если вы устанавливаете свой пароль password
или что-то другое в каждой схеме, вы можете визуально проверить, верен ли мой вывод о том, что они являются вариантами -crypt (примеры здесь взяты из примера hashcat , все hashcat, некоторые обернуты для читаемости):
Не рекомендуется - несоленые или устаревшие типы хэшей, слишком «быстрые» (скорости взлома) для хранения паролей:
MD5 - 8743b52063cd84097a65d1633f5c74f5
SHA256 - 127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
SHA512 - 82a9dda829eb7f8ffe9fbe49e45d47d2dad9664fbb7adf72492e3c81ebd3e2 \
9134d9bc12212bf83c6840f10e8246b9db54a4859b7ccd0123d86e5872c1e5082f
descrypt - 48c/R8JAv757A
ОК - намного лучше, чем несоленый, без усечения, но уже недостаточно устойчив к грубой силе на современном оборудовании:
md5crypt - $1$28772684$iEwNOgGugqO9.bIz5sk8k/
Лучше - относительно современные хэши с большими солями и рабочими факторами:
sha256crypt - $5$rounds=5000$GX7BopJZJxPc/KEK$le16UF8I2Anb.rOrn22AUPWvzUETDGefUmAV8AZkGcD
sha512crypt - $6$52450745$k5ka2p8bFuSmoVT1tzOyyuaREkkKBcCNqoDKzYiJL9RaE8yMnPgh2XzzF0NDrUhgrcLwg78xs1w5pJiypEdFX/
Из них только 8 урезанных дескриптов. Последние два - ваш лучший выбор.
(Примечание: соли, состоящие только из цифр, в приведенных выше примерах md5crypt и sha512crypt являются лишь побочными эффектами того, как hashcat создает примеры хэшей; реальные, полезные соли обычно извлекаются из гораздо большего пространства клавиш).
Также обратите внимание, что я перечисляю только типы хэшей, которые поддерживаются /etc/login.defs на этой платформе. Для общего использования даже sha256crypt и sha512crypt были заменены - сначала bcrypt, а затем по-настоящему стойкими к параллельным атакам хешами, такими как scrypt и семейство Argon2. (Однако обратите внимание, что для интерактивных входов в систему, которые должны завершиться менее чем за одну секунду, bcrypt на самом деле более устойчив к атакам, чем последние)