Я пытаюсь понять, как Linux шифрует наш пароль в файле etc/shadow, поэтому у меня нет нового виртуального «тестового» пользователя, чтобы провести тест:
пользователь: newuser
пароль: usrpw123
Созданная соль: Ii4CGbr7
Таким образом, ОС создает следующую строку в файле etc/shadow, используя систему шифрования SHA512 (6$): :::
Теперь я беру модуль SHA512 из python и пробую следующее:
import hashlib
m = hashlib.sha512()
m.update('Ii4CGbr7'+'usrpw123')
print m.hexdigest
В результате я получаю следующий хеш:
Как видите, он отличается от другого в файле /etc/shadow, и я не знаю почему, если я использую ту же соль + пароль для генерации хэша.
Может ли кто-нибудь помочь мне и объяснить мне более или менее почему это происходит?
А также, почему файлы /etc/shadow создают хэш с несколькими точками (.)?
Спасибо.
[0-9a-f]
символов, а строка в файлеshadow
—[0-9a-zA-Z/.]
, поэтому форматы вывода отличаются для начала... - person sarnold   schedule 05.04.2011