Я задавался вопросом, почему даже для того же имени пользователя и того же пароля, htpasswd производит новый хеш каждый раз? Я пытался найти ответ на этот вопрос, но не мог.
Пароли, сгенерированные "htpasswd", содержат случайную соль, чтобы их было труднее угадать. Это также означает, что предварительно зашифрованные словари для атак должны быть намного больше, поскольку они должны шифровать все возможные пароли со всеми возможными «солью».
htpasswd использует crypt (3) за кулисами.