每年,安全专家等都建议公众为他们的账号设置更安全的密码,然而每年公众也都没有注意到他们的建议。据外媒报道,近日在检查了超过一千万个密码后, 国外 Keeper 团队公布了 2016 年最常见(最弱)密码排行榜。该团队发现,仍有 17% 的互联网用户将 “123456” 作为密码。

另外,Keeper 应用的开发人员还发现的一些最可怕的事情:
最常用的密码排行榜每年机会不会出现很大的变化。
在十大最受欢迎的密码中,其中有四个只有六个字符。
电子邮件服务商并没有采取足够的措施来阻止垃圾邮件发送者设置虚拟账户。
Keeper 表示,用户也需要为此承担一些责任,因为一些用户仍未意识到 “qwerty” 及 “password” 等一些可怕的密码。另一方面,如果帐户提供商将密码复杂性作为一个硬性要求,用户将不可能使用这些密码。
Keeper 团队分析的十大最受欢迎(最弱)密码如下:
123456
123456789
qwerty
12345678
111111
1234567890
1234567
password
123123
987654321
来自:cnBeta.COM
引用来自“游客”的评论
高精度密码在服务器密码泄露之后,也是渣渣。引用来自“eechen”的评论
PHP检查字符串(如密码)不能带有空格,且同时包含"字母或特殊符号"和"数字",且不小于6位:<?php
$str = trim('123&abc'); //trim并不能去掉字符串前后中文圆角空格
if(
!preg_match('#\s+#u', $str)
&& (preg_match('#[A-Za-z]+#', $str) || preg_match('#[^A-Za-z0-9]+#', $str))
&& preg_match('#[0-9]+#', $str)
&& preg_match('#^.{6,}$#', $str)
) {
echo '字符串不能带有空格,且同时包含"字母或特殊符号"和"数字",且不小于6位';
}
引用来自“一刀”的评论
Python检查字符串(如密码)不能带有空格,且同时包含"字母或特殊符号"和"数字",且不小于6位:import re
def check_pwd(s):
rule1 = re.match(r'^[\S]+$', s) # 不包含空格
rule2 = re.match(r'^.*[A-Za-z_\*&\^%\$#@].*[0-9]|^.*[0-9].*[A-Za-z_\*&\^%\$#@]', s) # 同时包含"字母或特殊符号"和“数字”
rule3 = len(s) >= 6 # 不小于6位
return True if rule1 and rule2 and rule3 else False
print(check_pwd('533_dddd)'))
。。。。正则式貌似跟PHP没半毛钱的关系吧
def check_pwd(s)
return if(s.length>= 6 and !(s=~/\s/) and s=~/[^0-9]/ and s=~/[0-9]/) then true else false end
end
if check_pwd("123&abc".strip())
puts '字符串不能带有空格,且同时包含"字母或特殊符号"和"数字",且不小于6位'
引用来自“Cath”的评论
123456的意思就是,这个账号我根本不在乎,忘了、网站被暴库了都无所谓。现在干点啥都要注册,难道都用高强度密码,那些明文存密码的站点才是问题根源引用来自“Cath”的评论
123456的意思就是,这个账号我根本不在乎,忘了、网站被暴库了都无所谓。现在干点啥都要注册,难道都用高强度密码,那些明文存密码的站点才是问题根源引用来自“Cath”的评论
123456的意思就是,这个账号我根本不在乎,忘了、网站被暴库了都无所谓。现在干点啥都要注册,难道都用高强度密码,那些明文存密码的站点才是问题根源引用来自“eechen”的评论
PHP检查字符串(如密码)不能带有空格,且同时包含"字母或特殊符号"和"数字",且不小于6位:<?php
$str = trim('123&abc'); //trim并不能去掉字符串前后中文圆角空格
if(
!preg_match('#\s+#u', $str)
&& (preg_match('#[A-Za-z]+#', $str) || preg_match('#[^A-Za-z0-9]+#', $str))
&& preg_match('#[0-9]+#', $str)
&& preg_match('#^.{6,}$#', $str)
) {
echo '字符串不能带有空格,且同时包含"字母或特殊符号"和"数字",且不小于6位';
}
import re
def check_pwd(s):
rule1 = re.match(r'^[\S]+$', s) # 不包含空格
rule2 = re.match(r'^.*[A-Za-z_\*&\^%\$#@].*[0-9]|^.*[0-9].*[A-Za-z_\*&\^%\$#@]', s) # 同时包含"字母或特殊符号"和“数字”
rule3 = len(s) >= 6 # 不小于6位
return True if rule1 and rule2 and rule3 else False
print(check_pwd('533_dddd)'))
。。。。正则式貌似跟PHP没半毛钱的关系吧
引用来自“Cath”的评论
123456的意思就是,这个账号我根本不在乎,忘了、网站被暴库了都无所谓。现在干点啥都要注册,难道都用高强度密码,那些明文存密码的站点才是问题根源引用来自“Cath”的评论
123456的意思就是,这个账号我根本不在乎,忘了、网站被暴库了都无所谓。现在干点啥都要注册,难道都用高强度密码,那些明文存密码的站点才是问题根源引用来自“观察者x”的评论
15,20,这密码不算简单了吧引用来自“游客”的评论
高精度密码在服务器密码泄露之后,也是渣渣。保证服务器对用户密码明文的不知情,最好使用https加密传输避免被窃听和修改.
数据库保存的用户密码再次经过"加盐哈希"以及"AES加密"后存储.
经过这些步骤,就算被"脱裤",攻击者也拿不到用户的明文密码.
<?php
$str = trim('123&abc'); //trim并不能去掉字符串前后中文圆角空格
if(
!preg_match('#\s+#u', $str)
&& (preg_match('#[A-Za-z]+#', $str) || preg_match('#[^A-Za-z0-9]+#', $str))
&& preg_match('#[0-9]+#', $str)
&& preg_match('#^.{6,}$#', $str)
) {
echo '字符串不能带有空格,且同时包含"字母或特殊符号"和"数字",且不小于6位';
}