Вчера вам рассказал про сахар в sql, а сегодня поговорим про соль 🧂

Для чувствительных данных, например паролей, токенов доступа, и в целом других персональных данных, очень важна безопасность их хранения и передачи между системами.

Одним из методов повышения безопасности хранения данных является метод "добавления соли". Это процесс добавления случайной строки к значению реальных данных перед применением функции хэширования.

Представьте, вы зарегистрировались на очередном сайте с паролем "pass123". Пароль не сложный и велика вероятность, что если система запишет ваш пароль в явном виде в свою базу данных, то велик риск утечки пароля путем простого подбора или взлома базы пид**асами злоумышленниками.

Чтобы хранить пароли более надежно, делают 2 шага

1️⃣ добавление "соли".добавить например к значению пароля время регистрации или другое значение, может быть даже константную строку. "pass123_2025-07-24" - пароль с солью

2️⃣ хэширование пароля с солью. например, применить криптографическую функцию md5 получится хэшированое значение "66783cf604b579391670d1f380c4e4ad"

Почему бы просто не сделать хэширование без соли? Есть вероятность подбора значения хэша для довольно распространенных паролей. Например, можно создать так называемую радужную таблицу, где будет сгенерирован хэш на разные значения паролей. Но при добавлении соли сложность пароля получается увеличивается и подобрать логику "какая конкретно соли была добавлена и по какой логике" - уже не так легко.

P.S. можете еще погуглить эту тему через запрос 🔎 "salt в криптографии"

🔥 если было интересно прочитать пост и узнали что-то новое