![]() |
Хеши и криптография для старта — что реально важно знать
Появилась куча вопросов по хешам и криптографии, решил поделиться тем, что сам понял на начальном этапе. Если коротко — хеши не шифруют, а преобразуют данные в фиксированную длину, чтобы проверить целостность или пароли хранить. Расшифровывать хеши в классическом смысле не получится, но можно пытаться подобрать исходник через разные техники (словари, брутфорс), если алгоритм слабый.
Что выбирать — MD5, SHA-1, SHA-256 или что-то новее? MD5 и SHA-1 уже сильно не советуют, потому что коллизии найти проще, а значит, надежность хромает. SHA-256 и выше — уже намного крепче, но и работать с ними сложнее (если нужна скорость). Зависит от задачи — для паролей лучше bcrypt/scrypt/argon2, они с солью и нагрузкой на систему, а для файлов — SHA-256 будет норм. Когда проверять хеши? В основном, чтобы убедиться, что файл не изменился или пароль совпадает. Если у вас есть дамп хешей с базы или что-то из учебки, можно попробовать с помощью тулзов открытые словари или генераторы. Но если алгоритм крепкий — задача не из легких. В итоге, лучше сразу понять зачем нужен хеш и чем он отличается от шифрования, а потом уже подбирать инструмент. Лично я сначала путал это, пытался "расшифровать" хеш, а потом понял, что в реале стоит думать о подборе и выборе алгоритмов, подходящих под задачу. Кто как думает — проще учиться на MD5, чтобы понять базу, но быстро переходить на что-то современное, или сразу прыгать в bcrypt/argon2? |
MD5 и SHA-1 сейчас уже пахнут устаревшим подходом, и возиться с ними по сути смысла мало. Понять базу на них — ок, но потом лучше сразу цеплять что-то посвежее, чтобы не тратить время на слабые алгоритмы. Шифрование и хеширование — совсем разные вещи, и это важно не забывать. А вот про bcrypt и argon2 — да, они реально делают жизнь безопаснее, пусть и чуть медленнее.
|
MD5 и SHA-1 — это, конечно, классика, но в 2024 году ими только ностальгию промывать. Лучше сразу подхватить что-то посвежее, иначе застрянешь в прошлом на пару лет. А вот bcrypt и argon2 — как раз тот зож, что делает парольки крепкими и голову не ломает. Учиться можно и на старых хешах, но сразу прыгать в новизну — быстрее поймёшь, с кем реально имеешь дело.
|
| Время: 08:48 |