Б - Безопасность (нет)

Предисловие


Нормальные люди, которые создают сайты, беспокоятся о безопасности пользователя. Какой бы пароль у вас не был бы, шифруется при помощи алгоритма md5, которые не особо-то просто и вообще возможно дешифровать и хранится в базе в виде md5.


Примеры шифрования md5:

q1w2e3r4: c62d929e7b7e7b6165923a5dfc60cb56

Serega200188: f7a225c125d4ac254f71b389e0882e5a

a: 0cc175b9c0f1b6a831c399e269772661

hard!(PasS)worD_01nm%$: 0ffdde5638df6c56c8cb6f1f7cc1fece


Как видите, md5 плевать на длину вашего пароля зашифрованной строки, результат всегда имеет одну и ту же длину.



Суть


С этим разобрались. Но как узнать, верный ли пароль вводит пользователь? Очень просто! При регистрации пользователь вводит пароль и вводит его второй раз. Сервер не сравнивает пароли, он сравнивает md5 этих паролей. Он нигде их не хранит и не записывает, пока не зашифрует в md5. Сервер хранит в базе данных не ваш пароль, а его md5. А когда вы логинитесь на сайт, где зареганы, сервер сравнивает md5 введенного вами пароля с md5 в базе данных. Вроде бы ясно объяснил. Испокон веков так делали и до сих пор делают.


Но я бы не писал бы этот пост, если бы не...рег.ру.


Вот такое письмо мне только что пришло на почту:

Б - Безопасность (нет) Небезопасно, Хостинг, Длиннопост, Md5, Шифрование

А теперь вопрос: какого черта они знают мой пароль? По md5 они не могли понять ни его длину, ни из каких символов он состоит. Значит они хранят мой пароль в незашифрованном виде, что уже априори небезопасно.


И я уже подозреваю, что будет дальше, замрите в предвкушении 😉


Я иду в свой личный кабинет, чтобы сменить пароль, но...

Б - Безопасность (нет) Небезопасно, Хостинг, Длиннопост, Md5, Шифрование

Они не хотят принимать греческие цифры в качестве символов пароля. Я всего лишь написал туда слово "ἱερογλύφος" (греч. "иероглиф"). Проблема в том, что скрипт проверяет пароль, то есть смотрит его. Это тоже не дает мне оснований полагать, что это безопасно.


Молодцы рег.ру, так держать!