密码最少要设几位才安全? 皇甫怡辰 提问于 2026-03-15 11:32:19 阅读 57 安全 我在做用户注册页面,后端要求密码至少8位,但产品经理说6位就够了,用户体验更好。我有点纠结,到底该听谁的? 查了下资料,好像现在主流网站都要求8位以上,还有的要包含大小写字母、数字和符号。但我试了下只限制长度的话,用minLength: 6确实容易被暴力破解吧? 我来解答 赞 11 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 诸葛志鸽 Lv1 听后端的,8位是底线,6位确实有点短了。 现在主流网站普遍都是8位起步,很多大厂已经推到12位以上了。你说的暴力破解问题确实存在,6位密码如果用户用纯数字或者简单组合,破解成本太低了。6位数字密码只有100万种组合,分分钟就被跑出来。 实际开发中比较稳妥的做法是这样的: 密码长度至少8位,这是行业共识。如果产品经理实在纠结,你可以拿主流产品举例——微信、支付宝、抖音这些大厂注册都是8位起,有的还要求12位以上,真不是体验问题。 另外光限制长度不够,最好加上基本复杂度要求,比如大小写字母、数字、符号中至少要包含两种。这个倒不用太严格,太复杂了用户也烦,设定太复杂的要求反而会导致用户用重复密码或者写在备忘录里,反而更不安全。 还有个思路是参考NIST的最新建议:不要过度限制密码格式,鼓励用户设长密码。12位以上的纯字母密码其实比8位带符号的更难破解,而且用户更好记。 最后提醒一句,前端限制只是防君子,后端必须再校验一次,有些人就喜欢抓包改请求绕过前端验证。 回复 点赞 2026-03-20 09:01 迷人的奕洳 Lv1 听后端的,8位是底线。6位纯数字或字母组合在现在这个算力下基本秒破,真要被拖库跑字典就是分分钟的事。你要是想两边都不得罪,可以设成8位但允许6位登录(输错5次后强制要求8位),或者直接12位起步加复杂度要求,反正现在用户记密码都用密码管理器了。 回复 点赞 2026-03-17 08:07 加载更多 相关推荐 1 回答 56 浏览 前端用 MD5 加密密码真的安全吗? 我在做一个登录页面,想在前端用 MD5 对用户密码做哈希后再传给后端。但听说 MD5 已经不安全了,可我看很多老项目还在用,有点懵。 我试过用 crypto-js/md5 这个库,代码大概是这样: i... a'ゞ旗施 安全 2026-03-27 11:01:23 1 回答 67 浏览 前端能直接加密用户密码吗?怎么保证安全? 我在做登录页面,想在前端把用户输入的密码加密后再传给后端,但不确定这样做是不是真的安全。试过用 crypto-js 做 SHA256 加密,但听说这样其实没用,因为密钥或算法暴露在前端,攻击者照样能还... UX秀玲 安全 2026-03-21 13:28:25 2 回答 59 浏览 PBKDF2在前端加密密码真的安全吗? 我在做用户注册功能,看到后端用PBKDF2加盐哈希存密码。但我想在前端也先加密一次再传给后端,这样更安全吧? 可我试了用Web Crypto API的crypto.subtle.deriveKey,结... W″嘉赫 安全 2026-03-18 23:20:23 2 回答 62 浏览 前端用 SHA-256 加密用户密码真的安全吗? 我最近在做一个登录页面,想在前端用 SHA-256 对用户密码做哈希后再传给后端,但听说这样其实不安全? 我试了用 Web Crypto API 做哈希,代码大概长这样: async function... ლ倚凡 安全 2026-03-18 16:23:20 2 回答 56 浏览 密码输入框最少8位,前端怎么限制才安全? 我正在做一个登录页,想在前端限制密码至少8位,但不确定光靠CSS或HTML能不能防住用户输太短的密码?比如下面这样写有效吗? input[type="password"] { min-length: ... W″晴文 安全 2026-03-12 20:37:20 2 回答 64 浏览 前端密码加密到底该怎么做才安全? 我在做登录页面,用户输入的密码直接传给后端总觉得不安全,想在前端先加密一下。但不知道用什么方式合适,试过用 crypto-js 做 MD5,结果发现好像还是能被破解? 而且我看到有人说前端加密没意义,... 码农艺霖 前端 2026-03-03 09:27:20 2 回答 79 浏览 前端加盐哈希密码真的安全吗? 我最近在做一个登录页面,想在前端对用户密码加盐再哈希,但不确定这样是不是真的安全。听说盐值不能硬编码,可如果每次随机生成,后端怎么验证呢? 我试了用 crypto-js 库,代码大概这样: const... Mr-银银 安全 2026-02-26 16:28:21 2 回答 63 浏览 前端注册时怎么处理密码盐值才安全? 我最近在做用户注册功能,看到后端同事说密码要加盐哈希,但我搞不清盐值到底该谁生成、怎么传。我在前端直接生成随机盐拼到密码里再发过去,这样行不行?会不会有安全隐患? 比如我现在是这么做的: <fo... 子聪 安全 2026-03-30 10:34:16 1 回答 47 浏览 前端怎么校验密码复杂度才安全? 我在做用户注册页的密码校验,想确保密码包含大小写字母、数字和特殊字符,但不确定只在前端用正则判断够不够。万一用户绕过前端直接发请求怎么办? 现在用的是 Vue 的 watch 监听密码输入,代码大概这... 上官淑瑶 安全 2026-03-26 21:40:24 2 回答 118 浏览 前端密码强度校验怎么写才靠谱? 我在做登录注册页的密码策略,想让用户设置强密码,但不确定校验逻辑怎么写才安全又不烦人。试了下正则,但总觉得漏了什么。 比如下面这段代码,只检查了长度和是否包含数字,但好像没考虑大小写字母和特殊字符?而... 上官奕瑞 安全 2026-03-14 03:46:25
现在主流网站普遍都是8位起步,很多大厂已经推到12位以上了。你说的暴力破解问题确实存在,6位密码如果用户用纯数字或者简单组合,破解成本太低了。6位数字密码只有100万种组合,分分钟就被跑出来。
实际开发中比较稳妥的做法是这样的:
密码长度至少8位,这是行业共识。如果产品经理实在纠结,你可以拿主流产品举例——微信、支付宝、抖音这些大厂注册都是8位起,有的还要求12位以上,真不是体验问题。
另外光限制长度不够,最好加上基本复杂度要求,比如大小写字母、数字、符号中至少要包含两种。这个倒不用太严格,太复杂了用户也烦,设定太复杂的要求反而会导致用户用重复密码或者写在备忘录里,反而更不安全。
还有个思路是参考NIST的最新建议:不要过度限制密码格式,鼓励用户设长密码。12位以上的纯字母密码其实比8位带符号的更难破解,而且用户更好记。
最后提醒一句,前端限制只是防君子,后端必须再校验一次,有些人就喜欢抓包改请求绕过前端验证。