Является ли использование хэша электронной почты в качестве идентификатора пользователя хорошим решением для обеспечения анонимности?
Представьте, что вы хотите создать "безопасное" приложение для обмена сообщениями, которое должно соответствовать:
Если кто-то имеет доступ к базам данных сервера, он / она не может идентифицировать пользователя из поля, которое вы используете для замены обычного имени пользователя / адреса электронной почты.
Это решение кажется интересным.
Но мне интересно
- Если есть более лучшие (более безопасные) альтернативы
- Какой механизм хеширования следует использовать
1 ответ
На самом деле, нет. Хэши хороши для сокрытия секретной информации, такой как пароли. Для такой информации, как адреса электронной почты, которые обычно довольно легко угадать / найти, злоумышленник может легко предварительно сгенерировать огромный список хэшей для базы данных адресов электронной почты и быстро использовать обратный поиск, чтобы определить, есть ли данный хэш (в вашей системе).) совпадает с одним из адресов в базе данных. Это оставляет в стороне тот факт, что хеши не являются уникальными, что, вероятно, не является проблемой с достаточно большим адресным пространством хешей.
Как правило, если вы хотите анонимные идентификаторы, вы должны использовать случайно сгенерированные.