Аутентификация с использованием шифрования и дешифрования

Что лучше при аутентификации пароля входа пользователя

Использование алгоритма шифрования, при котором вы шифруете введенный пользователем пароль и сравниваете его с сохраненным зашифрованным паролем пользователя.

Или

Использование алгоритма расшифровки, при котором вы расшифровываете сохраненный зашифрованный пароль пользователя и сравниваете его с введенным пользователем паролем.

Любые материалы будут оценены

пароли не должны быть зашифрованы, они должны быть хэш. Незашифрованный пароль никогда не должен быть известен. Это однонаправленный процесс — равен ли заданный текст при хешировании сохраненному хэшу пароля в базе данных? Поэтому исходный хешированный текст, хранящийся в базе данных, никогда не запоминается.

Martin 08.04.2019 17:14

@Мартин, тогда как это проверяется

psaraj12 08.04.2019 17:16

Я думаю, вам нужно прочитать некоторые основные тексты по криптографии и интернет-безопасности, прежде чем вы действительно попытаетесь что-то сделать. Это очень поможет вам. #

Martin 08.04.2019 17:29

@psaraj12 вам следует сравнить хэши паролей (что-то вроде вашего случая 1, но с использованием медленного хэша с солью вместо шифрования), см. nudesecurity.sophos.com/2013/11/20/…

gusto2 08.04.2019 17:31

См. это от informationSE.

kelalaka 08.04.2019 18:38
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для разрешения доступа пароли должны быть зашифрованы хэшнет.

Незашифрованный пароль никогда не должен храниться ни в одной системе. Следует сохранить только сгенерированный хэш этого пароля.

Хэш — это одностороннее шифрование, который превращает строку пароля в искаженную уникальную строку ссылки.

Зашифрованный зашифрованный текст — это одна из этих строк, которую можно преобразовать обратно в строку открытого текста.

Но вам не нужно знать пароль, вам нужно только знать, что это такой же - когда происходит вход в систему; имя пользователя/электронная почта или что-то другое, используемое для выбора строки базы данных. хешированный пароль захватывается и возвращается, а затем открытый текстовый пароль, указанный при входе в систему, — хэшируется точно так же. Если результаты идентичный, то строка пароля совпадает с исходной, поэтому пользователь может войти в систему.


Это как готовить торт.

У вас есть список ингредиентов, но это секрет, вы не должны никому делиться им. Итак, у вас в шкафу есть торт, который вы приготовили из этих ингредиентов. торт — это hash (э-э, хэшкейк?), ингредиенты — это password.

Поэтому, когда кто-то другой пытается испечь ваш торт, он использует свои ингредиенты, и он сделает другой торт, вы не знаете, какие у него ингредиенты, но как только он будет приготовлен (300 мс), это будет другой торт, поэтому шеф-повар пустыни в кухня знает, что это не ты. Только идиот положит столько чеснока в торт.

Я понял вашу точку зрения, так что хэш - это путь, а расшифровка - нет, нет, спасибо.

psaraj12 08.04.2019 17:40

Сохраняется ли этот ответ, даже если у меня есть доступ к сохраненному паролю в хешированной форме?

psaraj12 08.04.2019 19:17

@psaraj12 да. Хешированная форма — это форма Только, в которой вы должны иметь доступ к паролям.

Martin 08.04.2019 20:37

Другие вопросы по теме