Итак, я пытаюсь узнать, как в старых системах Windows хешируются пароли пользователей. В соответствии с https://asecuritysite.com/encryption/lmhash, текстовым паролем:
1) Преобразуется в верхний регистр и дополняется нулем до 14 байтов
2) 14-байтовый пароль делится на два 7-байтовых хэша
3) 7-байтовые значения используются для создания двух 64-битных ключей DES (с добавлением бита четности для каждых семи битов)
4) Каждый ключ использует DES (используя ECB) для шифрования строки «KGS! + # $%», Которая дает два 8-байтовых значения шифра.
Я пытаюсь хэшировать пароль "PassWord123" (который используется в этой статье techgenix).
Применяя описанные выше шаги, я получил (пожалуйста, не стесняйтесь поправлять меня, если я делаю что-то не так):
1) ПАРОЛЬ123000
2) ПАРОЛЬ и D123000
3) ПАРОЛЬ1 и D1230001
4) 9F85D1B92510E5B3 и C477143B02BC6ACF (для поиска этих значений использовались как этот инструмент, так и скрипт Python)
Хотя, шаг 4 должен дать мне E52CAC67419A9A22 и 664345140A852F61 (с использованием калькулятора из https://asecuritysite.com/encryption/lmhash и другого скрипта Python).
Кто-нибудь знает, что я делаю не так? Большое спасибо!