gpt4 book ai didi

mysql - MySQL 数据库的登录表布局

转载 作者:行者123 更新时间:2023-11-29 22:32:07 25 4
gpt4 key购买 nike

我是 MySQL 数据库的新手,在我从事学校项目时希望从熟悉它的人那里获得意见。我想创建一个类似于的login_table

login_table 
---------------------
id PK
emailAddress
password
firstName
lastName
telephone
address

我用谷歌搜索并看到了一些例子,其中只有{PK,用户名,密码}。

行业是否会接受将所有信息放在一张表中或拆分信息?在将值发送到数据库之前是否需要对密码进行加密,或者可以在数据库中完成吗?

最佳答案

保留单个用户帐户表是有效的。处理密码的常见策略是在提交密码的任何表单上都要求使用 https(无论是用于帐户创建还是用于登录),并在持久保存到数据库之前在应用服务器中对密码进行加密或散列。

如果您除了验证登录之外不需要密码,那么最好对密码进行哈希处理。存储密码时,您可以使用 SHA2($server_key + $PK + $password)。当用户登录时,您每次都会根据检索到的数据计算并比较该哈希值。

如果您需要密码(例如,如果您的应用服务器代表用户向其他系统代理请求),那么加密存储密码可能是更合适的选择。

我建议不要使用数据库来加密密码。您很可能会以明文形式将该密码从应用程序服务器传输到数据库服务器。此外,您将来可能希望迁移到不同的数据库平台,例如迁移到某些云存储解决方案。如果是这样,最好在应用服务器中执行解析和加密等任务,并使数据库专注于持久性和检索。

关于mysql - MySQL 数据库的登录表布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29712401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com