У меня есть служба WCF, которая используется клиентами, и ниже приведена моя текущая реализация аутентификации пользователей, я хочу рекомендации по ее улучшению или более эффективному механизму.
Я использую RSACryptoServiceProvider
класс (реализация RSA) для сохранения зашифрованных паролей пользователей в базе данных
Клиент должен зашифровывать пароль при каждом входе в систему с помощью открытого ключа (хранится в файле) и отправлять его методу регистрации с именем пользователя
На стороне сервера метод входа
выберите зашифрованный пароль для
предоставленное имя пользователя и сравнение дешифрованных паролей (отправленных пользователем и одним пользователем) с использованием закрытого ключа
Примечание: каждый раз, когда вы шифруете
строка с использованием RSA с той же публикой
введите новые зашифрованные байты,
поэтому я не могу сравнить зашифрованные
пароли и я должен расшифровать их для сравнения
P.S
Ответы гласят: «В целях аутентификации не следует хранить пароли с использованием обратимого шифрования»
Я спрашиваю, может ли никто не расшифровать пароль, кроме случаев, когда у него есть закрытый ключ, так в чем же проблема, даже хеширование необратимо, но оно сломано !!