Я создаю новую систему входа в систему для своего одностраничного приложения. Эта система потребует от администратора создания учетной записи для пользователей. Как только они настроят учетную запись для пользователя, я отправлю им электронное письмо, в котором они должны ввести свою информацию, такую как контрольный вопрос и пароль. Поэтому я провел небольшое исследование и изучил нашу существующую систему. Есть функция hash
, которая используется вместе с salt
. Я прочитал несколько статей, и было много споров об уязвимости хеша. Также я вижу, что в этом случае хранится хешированный пароль, а также соль. Они находятся в отдельных столбцах. Является ли это хорошей практикой для хранения соли в БД? Также есть ли лучший способ хранить пароль в базе данных? Вот пример логики, которую я нашел:
<cfset password = trim(FORM.password)>
<cfset salt = randomSalt()> //This is function that generates random salt.
<cfset totPW = password & salt>
<cfset hashedPW = hash(totPW,"SHA-256")>
В настоящее время я использую Cold Fusion 2016. Я не уверен, есть ли лучший способ зашифровать пароль в CF. Если кто-то может предоставить какой-нибудь полезный ресурс или пример, пожалуйста, дайте мне знать. Спасибо.
PBKDF2
,Rfc2898DeriveBytes
,Argon2
,password_hash
,Bcrypt
или аналогичные функции. Суть в том, чтобы заставить злоумышленника потратить значительное время на поиск паролей методом грубой силы. - person zaph   schedule 17.02.2018