Я видел несколько постов об использовании солей и хэшей для создания безопасных версий паролей, которые можно хранить в базе данных.
Однако, один вопрос озадачивает меня, и я не вижу проблемы, поэтому я решил опубликовать вопрос здесь и посмотреть, смогут ли другие люди указать на какие-либо недостатки в идее.
Моя основная идея состоит в том, чтобы сгенерировать пару открытый / закрытый ключ и затем уничтожить закрытый ключ. Мое ограниченное понимание криптографии с открытым / закрытым ключом заключается в том, что если у меня нет закрытого ключа, то расшифровка сообщения, зашифрованного открытым ключом, «математически маловероятна».
Я бы использовал открытый ключ для шифрования пароля и затем сохранял зашифрованную версию в базе данных. Когда кто-то пытается войти, я просто шифрую пароль с помощью открытого ключа и проверяю, совпадает ли он с сохраненным?
Есть ли в этой идее какой-то ужасный недостаток? Могут ли соли и хеши быть более безопасными?