Я в настоящее время использую функцию md5, чтобы зашифровать мой пароль и спасти к mysql db, который не может быть расшифрован.
Теперь мой пользователь хочет это, когда они забыли пароль, они должны получить тот же (старый) пароль вместо нового пароля.
Таким образом, мой вопрос - это, что я должен использовать, чтобы зашифровать мой пароль и сохранить в mysql Базе данных. И я могу расшифровать тот пароль также.
я работаю на php и mysql.
Спасибо
Avinash
Не делайте этого ...
Во-первых, используйте что-то лучше, чем MD5. Затем создайте способ «Сбросить» пароль, но никогда не способ на самом деле решить пароль из БД ...
, которые сделают ваше приложение менее безопасно, но, возможно, даже хуже; Вы и у ваших пользователей возникнут проблема, если ваши данные будут украдены! Кто-то будет иметь базу данных с именами пользователями и паролями всех ваших пользователей!
Не делайте этого ...
Во-первых, используйте что-то лучше, чем MD5. Затем создайте способ «Сбросить» пароль, но никогда не способ на самом деле решить пароль из БД ...
, которые сделают ваше приложение менее безопасно, но, возможно, даже хуже; Вы и у ваших пользователей возникнут проблема, если ваши данные будут украдены! Кто-то будет иметь базу данных с именами пользователями и паролями всех ваших пользователей!
-121--2954040-1--- 2954040-Шифрование вместо хеширования означает, что вы должны хранить ключ расшифровки, что означает снижение безопасности для вашего приложения. Сбросьте свой пароль и отправьте им новый.
как насчет crypt () или openssl ?
-121--2954043-Не делайте этого, это поставит под угрозу вашу безопасность! Идея одного способа шифрования заключается в том, что если ваша база данных взломана, вы не столкнетесь с проблемой, что все ваши пароли пользователей будут известны вместе с их адресами электронной почты!
-121--2954042-Небезопасно делать то, что лучше создать способ сброса пароля
Невозможно хранить пароль таким образом, что он все еще восстанавливается без него
1), сохраняя ключ дешифрования в вашем коде / данным (что скорее поражает цель Hashing / Шифрование пароля)
2) Шифрование пароля с использованием общего / частно-ключа Шифрование ключей Маршрутизация восстановления через SOM вроде полуборудового процесса, в котором можно восстановить пароль.
Самое простое решение состоит в том, чтобы ваши пользователи предоставить / поддерживать текущий адрес электронной почты и полагаться на безопасность того, чтобы обеспечить новый пароль по запросу.
c.
Не делай этого, это будет под угрозу вашей безопасности! Вся идея одного пути шифрования состоит в том, что если ваша база данных взломана, вы не столкнетесь с проблемой, что все пароли ваших пользователей будут известны рядом со своими адресами электронной почты!
Если вы запускаете внутренний частный сайт без проблем безопасности, просто храните пароли с помощью XOR 0XAD в каждом байте. В противном случае сброс является единственным вариантом.
Создайте динамические соли (2, один «постоянный» для смешивания с паролем перед HASHING / CREATHING, другой динамический, изменяющий каждый раз в журналах пользователя);
$ dynamicsalt = '';
для ($ i = 0; $ i <8; $ i ++)
{
$ dynamicsalt. = Chr (Rand (33, 126));
}
Никогда не сохраняйте пароли любым способом, которые могут помочь вам «декодировать» их позже, он не зависит от вас, чтобы получить ваш исходный пароль, но, чтобы пользователям сбросить его
, если вам действительно нужно сохранить оригинальные пароли, создать базу данных Учтитесь только с разрешениями на запись и храните его в какой-либо другой базе данных (на другом сервере?).