Пароли НЕ подлежат восстановлению.Таким образом, вам нужно использовать алгоритмы хеширования.Наиболее популярными являются MD5 и SHA1 .Я не буду предлагать использовать MD5, потому что он может быть легко атакован и есть много сгенерированных хэшей.SHA1 лучше, но он тоже есть.Наиболее безопасным является SHA256 / SHA512 (часть семейства SHA2) на основе this .Хотя проблема с семейством SHA2 заключается в том, что оно в значительной степени основано на SHA1.Это еще не сломано, но это может быть сломано скоро.Если у вас есть время, вы можете портировать один из алгоритмов, созданных для соревнования SHA3 , или менее известный алгоритм.Если вы можете установить расширения, то у конкурентов SHA3 уже есть расширения PHP.
Хорошая таблица уровня безопасности находится в Wikipedia .И если вы выбрали, вы должны гуглить «коллизионная атака на [алгоритм]» и [прообразная атака на [алгоритм] », чтобы увидеть, есть ли атака (Википедия может быть устаревшей).
Кроме того, не делайтене забывайте солить. Это означает, что вы хэшируете $ string + "Wh what" вместо $ string.