Для веселого проекта я хочу поддержать механизмы аутентификации SASL, особенно PLAIN и DIGEST-MD5.
У меня вопрос: как я могу безопасно хранить пароль пользователя, если мне нужно поддерживать эти два способа аутентификации?
Только с аутентификацией PLAIN это было бы очень просто, я просто сохраняю пароль с помощью bcrypt и сравниваю введенный пользователем пароль с сохраненным pw с помощью функции bcrypt_compare.
Но как я могу надежно хранить пароль, когда также возможен DIGEST-MD5?
Должен ли я хранить весь рассчитанный ответ и использовать его также для сравнения PLAIN?
Или есть другой способ?
// Edit : Относительно проекта "fun". На данный момент это забавный проект, но никто не знает, будет ли он в какой-то момент неинтересным. И я не хочу снижать безопасность только потому, что это веселый проект ..