数据库|为什么密码设置为“jK8v!ge4D”仍然不安全?( 三 )


我们的记忆强项 , 反而就是在这些特殊内容的记忆方面 。 突然之间 , 你的密码就非常强大了 , 而且不仅记忆方便 , 而且还可以避免过于重复 。 此外 , 即便是跟你关系密切的人 , 恐怕也很难去猜测这些密码 。
日常谈话中 , 你肯定很少会提到乌龟吧?那你是否见到过紫色的乌龟呢?肯定没有吧 。 那么 , 不妨尝试下 , 在脑海中视觉呈现一只紫色的乌龟 。 然后你就可以这样设置一串密码:“ioncesawapurpleturtleiswear(我发誓我曾经见过一只紫色乌龟)” 。 要破解这样的密码 , 至少需要上百万年的时间 , 甚至连跟你睡在一张床上的伴侣都可能猜不到 。
数据库|为什么密码设置为“jK8v!ge4D”仍然不安全?
本文插图

对于“walkingdowngrandpasroadwithlittlerufus (和鲁夫斯一起在爷爷家门前走过)”这个密码 , 破解可能需要上百万年时间 。 即便有人知道鲁夫斯是你的宠物狗 , 他们也很难猜到你会这样来设置密码 。 图片来源:Jamie Street
从视觉化效果方面来讲 , 以下这些密码都非常容易呈现出来 。
flyingcarsthatcannotflyarenotflying:如果不会飞的汽车就不是飞车 。
applesmaybegreatbutpearsarelikeheaven:苹果虽然好 , 但梨子却更好 。
goatswithshoesenjoytrainsonrainydays:穿鞋的山羊喜欢在雨天搭火车 。
总之 , 其他人很难猜测这些密码 。
然而 , 可能有些网站会不允许用户这样设置密码 。 根据其设定的密码设置规则 , 这个密码中没有包含数字或大写字母、密码过长 , 或者处于其他非技术因素无法设置该密码 。
因此 , 你也可以通过一些小伎俩来“骗”这个系统 。 比如 , 在任何密码字符串的最后添加“A1!” 。 现在 , 你设置的密码既有大小写字母 , 也有数字和特殊字符了 。 只要密码设置没有对字符长度有要求的 , 那这个密码肯定就可以设置成功 。
即便你在所有的密码字符串后面都添加同样的“A1!” , 但前面字符串的不同 , 仍然会保障该密码的安全性 。 无论是“ioncesawapurpleturtleiswear(我发誓我曾经见过一只紫色乌龟)” , 还是“ioncesawapurpleturtleiswearA1!(我发誓我曾经见过一只紫色乌龟A1!)” , 要想破解它们 , 都是不太可能的 。 因此 , 在密码字符串的最后加上“A1!” , 除了稍微有点不方便之外 , 没有其它弊端 。
实际上 , 前端开发者之所以制定相关密码设置规则 , 其初衷也都是好的 。 毕竟 , 许多人并不重视密码安全问题 , 通常都会设置“123456789”“666888”“elephant(大象)”等极其容易破解的常见密码 。
对于网站运营方而言 , 他们肯定不想发生任何数据泄露相关的丑闻 。 因此 , 即便可能会造成一系列麻烦 , 但他们只好强迫让用户设置一个相对安全的密码 。
【数据库|为什么密码设置为“jK8v!ge4D”仍然不安全?】当你下次设置密码的生活 , 你可以尝试用本文中提到的技巧来设置你的密码 。 当然 , 结合此方法 , 你也可以用拼音的方式来设置密码 。 比如“wofashiwocengjingjianguoyizhizisewugui(我发誓我曾经见过一只紫色乌龟)” 。
总之 , 在密码设置过程中 , 既要方便你自己记忆 , 同时要让别人无法破解 。
当然 , 即便你对这样的密码设置技巧不感兴趣 , 那你最好千万不要设置“123456”“qwerty(顺着键盘按键随意输入几位字符)”等密码 。 这些密码 , 极度不安全 , 也非常容易被破解 。
所以 , 对于这样的用户而言 , 我们前端开发者只好强迫你设置“jK8v!ge4D”这样的密码 。
译者:俊一
来源:36氪


推荐阅读