Це тому, що на базі DES крипт (AKA 'descrypt') обрізає паролі в 8 байт і перевіряє лише перші 8 для перевірки пароля.
Це відповідь на ваше пряме запитання, але ось деякі загальні поради, що містяться у вашому контексті:
На щастя, з мого читання, MD5
в /etc/login.defs
насправді є md5crypt ($ 1 $), який, хоч трохи застарілий і оголошений застарілим його автором , все ще значно перевершує крипту на основі DES (і, безумовно, набагато краще, ніж сирий, несолоний хеш, як звичайний MD5! Більшість несолоних хешів можна зламати на товарних графічних процесорах зі швидкістю мільярдів в секунду)
Схоже, що SHA256
(насправді sha256crypt) і SHA512
(насправді sha512crypt) також є. Я б вибрав один із них.
Якщо ви встановите свій пароль password
або щось під кожною схемою, ви зможете візуально перевірити, чи правильний мій висновок про те, що вони є -crypt-варіантами (приклади тут взяті з хеш-прикладів хеш-прикладів , усі '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 - це лише побічні ефекти того, як хешкет створює хеши для прикладу; реальні, здорові солі зазвичай виводяться з набагато більшого простору клавіш).
Зауважте також, що я перераховую лише типи хешів, які підтримує /etc/login.defs на цій платформі. Для загального використання навіть sha256crypt і sha512crypt були замінені - спочатку bcrypt, а потім пізніше справжніми хешами, стійкими до паралельних атак, як scrypt та сімейство Argon2. (Однак зауважте, що для інтерактивних входів, які повинні завершитись за одну секунду, bcrypt насправді стійкіший до атаки, ніж останні)