密码最少要设几位才安全?

皇甫怡辰 阅读 57

我在做用户注册页面,后端要求密码至少8位,但产品经理说6位就够了,用户体验更好。我有点纠结,到底该听谁的?

查了下资料,好像现在主流网站都要求8位以上,还有的要包含大小写字母、数字和符号。但我试了下只限制长度的话,用minLength: 6确实容易被暴力破解吧?

我来解答 赞 11 收藏
二维码
手机扫码查看
2 条解答
诸葛志鸽
听后端的,8位是底线,6位确实有点短了。

现在主流网站普遍都是8位起步,很多大厂已经推到12位以上了。你说的暴力破解问题确实存在,6位密码如果用户用纯数字或者简单组合,破解成本太低了。6位数字密码只有100万种组合,分分钟就被跑出来。

实际开发中比较稳妥的做法是这样的:

密码长度至少8位,这是行业共识。如果产品经理实在纠结,你可以拿主流产品举例——微信、支付宝、抖音这些大厂注册都是8位起,有的还要求12位以上,真不是体验问题。

另外光限制长度不够,最好加上基本复杂度要求,比如大小写字母、数字、符号中至少要包含两种。这个倒不用太严格,太复杂了用户也烦,设定太复杂的要求反而会导致用户用重复密码或者写在备忘录里,反而更不安全。

还有个思路是参考NIST的最新建议:不要过度限制密码格式,鼓励用户设长密码。12位以上的纯字母密码其实比8位带符号的更难破解,而且用户更好记。

最后提醒一句,前端限制只是防君子,后端必须再校验一次,有些人就喜欢抓包改请求绕过前端验证。
点赞
2026-03-20 09:01
迷人的奕洳
听后端的,8位是底线。6位纯数字或字母组合在现在这个算力下基本秒破,真要被拖库跑字典就是分分钟的事。你要是想两边都不得罪,可以设成8位但允许6位登录(输错5次后强制要求8位),或者直接12位起步加复杂度要求,反正现在用户记密码都用密码管理器了。
点赞
2026-03-17 08:07