我使用以下方法为需要安全性的所有内容生成密码:
ksoviero@ksoviero-Latitude-E7440:~$ head -c 16 /dev/urandom | base64
gorv/cp+lSiwiEfKck2dVg==
256^16 种组合已经足够安全了(至少对我而言),即使是最强大的计算机也需要 2e21 年才能进行暴力破解(每秒 50 亿次尝试,这是不可能的)。
但是,注意到最后两个字符了吗?由于 base64 采用的格式以及我使用 16 个字节的事实,这些总是存在的。
是否有理由包含或不包含两个“=”符号? 包含它们的论点是它们为密码添加了额外的符号和长度。但是,如果您假设攻击者知道我使用此方法生成密码(并且为了安全起见,您必须假设他们知道没有实际密码的所有内容),那么两个 '=' 符号是已知的,因此添加 no额外的安全性。然而,他们会受伤吗?