持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情
在密码学中,密码(英语:cipher,或cypher),是一种用于执行加密或解密的算法——一系列可以作为一个过程来遵循的定义明确的步骤。另一个不太常见的术语是加密(encipherment)。加密或编码(encode)的目的是将明文的信息转换为密文(密码或代码)。
通常的说法中,“密码”(cipher)与“代码”(code)是同义的,因为它们都是一组加密消息的步骤;然而,它们在密码学中的概念是不同的,特别是在经典密码学中。
虽然现在大部分使用密码的场景变少了,连github都不推荐使用密码,而是密钥。在国内大部分软件都支持验证码登陆,这是因为相较于其他验证方式,短信验证码是一种动态密码,是有时效限制的,也是随机更换的,安全系数大大提高!但是这不能说明密码没人使用,今天就来说说如何设置一个好的密码。
老规矩,避免出问题的前提是知道会有哪些问题。
1、必须避免使用以下密码
看看这里有没有你使用的密码:
!@#$%^
P@ssw0rd
taylor21
qwerty
abcdefgh
iloveyou7
123456
123456789
buddy123
在 Rockyou 等公共暴力词汇表中提供了许多类似的密码。Rockyou提供了一个关于密码强度的一个共识
E = log2(Rᴸ)
这个公式告诉我们,最好能将大写和小写与特殊字符和数字混合使用,但越长越好。 8 个字符,即使是复杂的组合,仍然可以比一长串的 22 个小写字母快得多。使用蛮力猜测密码的必要时间将成倍增加。
下面是一些自认为不错的例子
还没有网络安全意识的人可能有有趣但不安全的方法。例如,他们可能故意使用弱密码,并认为黑客不会尝试这种微不足道的组合。他不知道,黑客使用口令字典早就包含最基本密码和词汇。
安全策略也会产生误导
许多网站和应用程序都破坏了密码策略。其中一些将用户推向非常可预测的策略,例如,通过禁止特殊字符或将总长度限制为 8。
然而,即使是看似强有力的政策也可能导致意想不到的结果:
至少 1 个小写字母 至少 1 个大写字母 至少 1 个数字 至少 1 个特殊字符 至少 8 个字符 虽然上述规则看起来合法,但用户仍然可以设置容易猜到的密码。
例如,我的名字是李小白。我可以进入Lixiaobai$7,这符合政策,但在安全性方面很糟糕。
黑客只需要一个包含我的名字的候选名单,剩下的工作就交给 John the Ripper 等免费工具。
7个有效的技巧
- 设置长密码(如果可能,超过 16* 个字符)
- 不要重复使用密码(1 个登录名,1 个密码)
- 不要在浏览器中保存密码或确保使用主密码等加密
- 定期更改密码
- 使用密码管理器
- 使用haveibeenpwned判断您的密码是否泄露
- 尽可能启用 2FA/MFA
最后,16位,因为大多数安全策略将最小长度设置为 8 个字符。我并不是说这是防弹密码的神奇数字。如果您可以设置更长的密码,例如 22、23、24 个字符,那就太好了。*