Алгоритмы, подобные MD5, SHA1, не шифруют, а хешируют исходный текст любой длины выходной строкой фиксированной длины. И donot использовать их для защиты вашего пароля пользователя.
Позвольте мне рассказать вам об этом. Задайте секретный вопрос. Ответ на этот секретный вопрос будет секретным ключом нашего алгоритма шифрования паролей. Теперь вы используете MD5 или что-то еще, чтобы хэш этого ответа. Теперь зашифруйте пароль, используя этот хеш в качестве секретного ключа (используйте симметричные ключевые алгоритмы, такие как AES). Это поможет в каком-то смысле, так что если пользователь забудет свой пароль, то только этот пользователь и никто другой не смогут восстановить пароль.
Возможный дубликат [SHA512 vs. Blowfish and Bcrypt] (http://stackoverflow.com/questions/1561174/sha512-vs-blowfish-and-bcrypt) –
Они делают разные вещи. Есть много статей о SO, которые относятся только к этому ... мой совет заключается в том, чтобы * не * сворачивать свои собственные. –
http://stackoverflow.com/questions/3191690/how-long-should-my-password-salt-be-and-is-sha-256-good-enough, http://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords –