用户友好的密码
用户友好的密码
何谓用户友好的密码?我是指在密码中尽量不给自己找麻烦,又能正常使用。
- 不包含空白字符。否则你会烦恼有哪个空白字符,有几个的问题。
- 不包含特殊字符。否则会烦恼怎么输入。
- 不使用容易混淆的字母。不容易输入错误。
- 方便手机输入。
- 尽量少包含大写字母。
- 只包含容易在手机上输入的符号,或者不输入。
手机上容易输入的符号
在android上,以下符号可以在google输入法中直接输入。
@*+-=/#()'":?!~
总计15个。估计加上iphone后会更少。如果要用符号,建议从这些里面取,会减少你很多密码输入的烦恼。
容易混淆的字母
- Il1
- 0O
- 连续的mn
- 连续的wv
强度规范
我把密码管理规范里面的结论总结一下,略去推导,凑凑数,把密码级别排列成以下几个:
- 弱密码:不希望别人看到,然而别人看到并没有直接损失的内容。熵应当在20bit以上,五年修改一次。
- 中密码:不希望别人看到,别人看到会对你产生损失的内容。熵应当在33bit以上,两年修改一次。
- 强密码:有价内容。熵应当在45bit以上,一年修改一次。同时作为弱本地密码规范,
- 本地密码:熵应当在58bit以上。
每个级别之间大约差12bit的熵。初始熵强度至少20bit,低于这个水平就很难说这是一个密码了。
强度估计
以最容易使用的密码计算,符号应当最多包含26个字母+10个数字,排除l10这3个。每一位有33种可能,熵大约是5多一点。
- 弱密码:至少4位。
- 中密码:至少7位。
- 强密码:至少9位。
- 本地密码:至少12位。
更强一些的密码可以用52个大小写字幕+10个数字,排除Il10O这5个。每一位有57种可能,熵大约是5.8。
- 弱密码:至少4位。
- 中密码:至少6位。
- 强密码:至少8位。
- 本地密码:至少10位。
建议
网络:
- 弱密码:4位小写字母+数字,5年修改一次。
- 中密码:7位小写字母+数字,2年修改一次。用于保护大部分内容。
- 强密码:8位大小写字母+数字,1年修改一次。保护重要内容。
本地:
- 低:8位大小写字母+数字。
- 高:10位大小写字母+数字。
注意避开Il1O0,以及其他可能的混淆方式。