Mysql 限制密码的字符数?
如果想限制我的数据库(mysql)中密码可能使用的字符数,我是否只需将类型设置为varchar(#of chars),例如:varchar(15)。对于最多可使用的15个字符?当然,您可以通过在数据库中设置某个内容的字段长度来限制其长度。但这会让用户感到困惑。有人可能会认为他输入了20-30个或更多字符,这是在使用强密码,但您只是在静默地存储前15个字符。如果他更改了密码,并且只更改了最后几个字符,那以后可能会给他带来麻烦——对你来说,这将是相同的15个字符的密码。非常令人费解 如果您确实限制了长度,请在检查长度后,在UI中用说明和良好的错误消息非常清楚地说明这一点Mysql 限制密码的字符数?,mysql,database,Mysql,Database,如果想限制我的数据库(mysql)中密码可能使用的字符数,我是否只需将类型设置为varchar(#of chars),例如:varchar(15)。对于最多可使用的15个字符?当然,您可以通过在数据库中设置某个内容的字段长度来限制其长度。但这会让用户感到困惑。有人可能会认为他输入了20-30个或更多字符,这是在使用强密码,但您只是在静默地存储前15个字符。如果他更改了密码,并且只更改了最后几个字符,那以后可能会给他带来麻烦——对你来说,这将是相同的15个字符的密码。非常令人费解 如果您确实限制了
但更好的是,不要限制密码长度。密码越长越好 当然,您可以通过在数据库中设置某个内容的字段长度来限制其长度。但这会让用户感到困惑。有人可能会认为他输入了20-30个或更多字符,这是在使用强密码,但您只是在静默地存储前15个字符。如果他更改了密码,并且只更改了最后几个字符,那以后可能会给他带来麻烦——对你来说,这将是相同的15个字符的密码。非常令人费解 如果您确实限制了长度,请在检查长度后,在UI中用说明和良好的错误消息非常清楚地说明这一点
但更好的是,不要限制密码长度。密码越长越好 我认为你在密码问题上的心态非常糟糕。在使用密码时,请记住以下几点
如果我遗漏了什么,请将其保留在评论中,我将相应地编辑答案。我认为您在密码方面的心态非常糟糕。在使用密码时,请记住以下几点
如果我遗漏了任何内容,请将其保留在评论中,我将相应地编辑答案。您应该仔细阅读密码哈希。限制密码的长度很少是一个好主意。请不要限制密码的长度。另外,不要限制密码的字符集。始终哈希密码并存储哈希,而不是明文密码。这意味着当旧密码被遗忘时,需要一种机制来设置新密码。你应该仔细阅读密码散列。限制密码的长度很少是一个好主意。请不要限制密码的长度。另外,不要限制密码的字符集。始终哈希密码并存储哈希,而不是明文密码。这意味着需要有一种机制来在忘记旧密码时设置新密码。1.)md5不是加密。3.)Salting不为所使用的登录提供安全性。它只避免了使用rainbow表从散列中重构密码。(还可以确保,如果攻击者获得访问权限,他不能用一个“go”来重建所有密码,但每个密码需要一个salt)请不要建议使用MD5进行密码哈希。永远。你是对的。我想说的是密码应该加密或散列。这并不意味着MD5是一种加密算法。就salting而言,如果有人已经设法获得了您的DB,那么您仍然是正确的。但是,根据您创建salt的方式,它可以是一种附加的安全性。MD5是一种哈希算法,而不是加密算法,但人们反对它的理由是,现在它太快了,因此如果您不想强制检索密码,就不安全。是的,但安全性会继续提高。我经常看到的问题之一是,初学者不仅编写“直接投入生产”的代码,而且编写教程。很多,而且大多都很糟糕。SQL注入、XSS、明文密码、无盐析和不充分的散列。我们需要小心,我们没有助长这些不良做法。1.)md5不是加密。3.)Salting不为所使用的登录提供安全性。它只避免了使用rainbow表从散列中重构密码。(Al)