PDA

Просмотр полной версии : [Вопрос] Шифрование (хеширование) пароля



Gressie
16.12.2015, 01:47
Приветствую всех! Хотелось бы уточнить, что подходит эффективно для шифровки пароля. MD5, WP_Hash или ту что сделали в новой версии 0.3.7?

Gressie
19.12.2015, 03:52
Подниму

MacMailler
19.12.2015, 06:27
Встроенной функции будет достаточно.

Daniel_Cortez
19.12.2015, 11:19
Во-первых, шифрование и хеширование - это не одно и то же. В случае с шифрованием есть возможность восстановить исходную строку, с хешированием её однозначно восстановить нельзя (точно так же, как число 42 может быть результатом сложения 40 и 2, 19 и 23, 15 и 27 - вариантов много).
Функция SHA256_PassHash именно хеширует пароли, и если кто-то украдёт базу данных, пароли нельзя будет расшифровать из хешей - можно будет лишь найти их методом перебора, на что уйдёт крайне много времени, за которое владелец проекта может принять какие-нибудь меры - например, инициировать для всех принудительную смену паролей.

Во-вторых, как уже было сказано выше, в 0.3.7 R2 хеширование поддерживается "из коробки" и этого вполне достаточно. Главное не просто хешировать пароли, но и добавлять к ним "соль", чтобы нельзя было подобрать пароли перебором по радужным таблицам (https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B4%D1%83%D0%B6%D0%BD%D0%B0%D1%8F_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0).
Всё это я постарался подробно расписать здесь: http://pro-pawn.ru/showthread.php?12486-SHA256_PassHash