Сохранение отдельной таблицы учетных записей пользователей. Общей стратегией обработки паролей является требование https в любой форме, в которой отправляется пароль (независимо от того, создаются ли для создания учетной записи или для входа в систему), а также для шифрования или хеширования пароля на вашем сервере приложений до того, как он будет сохранен в вашей базе данных.
Если вам не нужен пароль ни для чего, кроме проверки входа в систему, предпочтительнее хеш-пароль. При сохранении пароля вы можете использовать, например, SHA2($server_key + $PK + $password)
. Вы должны вычислять и сравнивать этот хэш каждый раз из полученных данных, когда пользователь регистрировался.
Если вам нужны пароли (например, если ваш сервер приложений запрашивает запросы от имени пользователя в других системах), то шифрование пароль для хранения может быть более подходящим выбором.
Я бы посоветовал использовать базу данных для шифрования пароля. Скорее всего, вы будете передавать этот пароль в виде открытого текста с вашего сервера приложений на сервер базы данных. Кроме того, вы можете перейти на другую платформу базы данных в будущем, скажем, в какое-то решение для облачных хранилищ. Если это так, лучше делать такие задачи, как синтаксический анализ и шифрование на вашем сервере приложений, а также поддерживать вашу базу данных настойчиво и извлекать данные.
Имея всю информацию в одной таблице, кажется мне хорошо, если они являются отношениями один к одному. Что касается пароля, вы не должны хранить или передавать пароль (или зашифрованный пароль) вообще. Вместо этого вам нужен соленый хеш. Взгляните на этот ответ: http://security.stackexchange.com/a/51983. – Luca
Это зависит от вас, также вы обычно хотите делать соленый хеш на стороне сервера, а также, возможно, используя ключ (личное предпочтение) и конкатенацию этого в хеше. –
Спасибо за отзыв. – user3221699