[英]How to use the case-sensitive for MySQL password field?
我具有用户登录名,但用户可以使用不区分大小写的方式登录。这意味着如果您的密码为“ test”,则用户可以使用“ TEST”密码登录。
我想避免在我的密码字段中进行这种类型的身份验证。
我想您是在清楚地存储密码。 这不仅不安全,而且在大多数情况下也没有必要。 我的建议是将密码存储在两列中,例如:
password_salt VARCHAR(16)
password_hash VARCHAR(40)
在存储新密码之前,请使用用户提供的密码( $clear_password
),创建一个随机字符串( $salt
),然后使用两者创建一个哈希( sha1sum($salt . $clear_password
)。并丢弃清除密码。
要验证密码,请为给定用户检索存储的盐,生成哈希并查看它是否与数据库中的哈希匹配。
此技术称为盐腌密码 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.