今天有个同事在群里抛出一个话题"我发现XXX网站不支持我密码生成器的规则,查了半天最终是几个特殊字符导致,为什么不支持这几个特殊字符?",我看到这问题后,因为之前做过XXX网站会员登录系统缘故一想确实很多网站支持的不太一致,为什么?有什么历史背景么?为什么密码不支持中文呢?我脑袋里也一堆问号正好也来百度一下,百度后又找个技术朋友的小群聊讨论聊了一下,综合网上和讨论后的结果大概有以下几种说法:
1. 由于网络安全的原因为防止sql注入风险,所以会减少一些特殊的字符作为密码;
2. 密码复杂度既能满足客户的需求又能满足在各种终端 上登录,所以会屏蔽一些特殊的字符集;
3.在满足安全的情况下,尽量降低密码复杂度让人们更好的记忆;
4.很多网站使用了前端开源框架开发,直接用了开源框架的密码规则,没有太特殊原因;
5.小网站借鉴大网站、大网站互相借鉴的最终结果。
所以结论是从技术上网站可以支持各种特殊字符的密码主要看是否有这必要和网站的实现成本 。经过网友的提示甚至支持“emoji”(笑脸表情包)为密码,如以下检索到的新闻。
![](https://img.haomeiwen.com/i8512992/a308ff1bc98bd07b.png)
那为什么不能用中文作为密码呢? 其实理论上也是可以的以下是我的测试结果,但为什么没用中文密码网上更多的说法是实现成本的和国际化的问题(也期待有支持中文密码的网站)。
![](https://img.haomeiwen.com/i8512992/65e5db8038c4b35e.png)
由于工作的原因我也整理了一下各云服务提供商(国内:腾讯云、华为云、阿里云,海外:AWS、Google云)计算和存储两个典型产品的密码规则,如下:
![](https://img.haomeiwen.com/i8512992/04c3fba2cbc1fb18.png)
可以看到国内的一些主流云厂商密码规则都差不多,有趣的是国内支持的密码方式种类更多(充分的考虑了用户各方面需求),海外云更多推荐证书秘钥登录或原生的登录方式。其实不管用哪种方式,安全只是相对的现在rsa2048的都不安全了(此时我在想量子计算出来后,那时的安全加密方式是什么样),所以更好的方式是提升自己的安全意识,定期更换密码,不同的网站采用不同的密码来提升自己的网络安全。
相关资料
云服务商密码规则在线表格地址:https://docs.qq.com/sheet/DTlhIQVBpVE5kYWxV?c=C14A0A0
当RSA加密碰上量子计算2048位元金钥还能安全多久:https://baijiahao.baidu.com/s?id=1636552076958817953&wfr=spider&for=pc
emoji表情还能当密码:https://news.mydrivers.com/1/434/434933.htm
网友评论