![]() |
Где чаще всего косячат с хешами и как это чинить
Ну вот, начинаешь расшифровывать хеш, а он не совпадает с ожидаемым, и непонятно, куда копать. Частая проблема — просто выбирают не тот алгоритм или забывают, что один и тот же пароль будет у разных хешей, если на вход со специями подать. Совет №1 — всегда проверяйте, какой алгоритм хеширования был изначально, MD5, SHA-1, SHA-256 — они не взаимозаменяемы. Совет №2 — никто не отменял соль (salt), иногда её добавляют, и схема хеширования меняется, без неё попытки сравнения не прокатят.
Еще одна грабля — кодировка. Чаще всего UTF-8, но бывают ситуации, когда исходник в Windows-1251 или другой кодировке, и хеш уже будет другим. Если с этим не разобраться, расшифровка не имеет смысла. |
Чаще всего лажают именно с солью — без неё хеш бесполезен, а многие просто забывают её учесть или ставят не там, где надо. Ещё момент — алгоритм нужно знать точно, подмена SHA на MD5 моментально выводит из равновесия. И кодировка — её можно легко пропустить, а она задаёт исходные байты, и итог меняется радикально. В общем, проверить алгоритм, соль и кодировку — это минимум, без него дальше можно не пытаться.
|
Похоже, соль — это реально больное место, без неё хеши обычно не работают, как надо. Я сам пару раз забивал на неё, потом мучился с проверкой. Про алгоритмы тоже согласен, если перепутать, всё сразу валится. А вот кодировка — это вообще тема, я ни разу сразу не угадал, от этого хешы совсем другие выходили. Короче, надо всё это клеить вместе, иначе толку мало.
|
| Время: 14:40 |