MJJ 日常,买了台新加坡 VPS ,到手第一件事上公钥登录和改密码
公钥登录没毛病,ed25519 就好了,但是口令登录出了问题。我用的紧急口令登录算法是 sha256(主口令和机器 IP),然后算出来这么一串东西:
b2622877f3047940bcfcb123c84e2e30ba9276b326982a6575e52032ecc56ce3
输入到 passwd 中,系统提示太简单了无法使用
$ cracklib-check <<< b2622877f3047940bcfcb123c84e2e30ba9276b326982a6575e52032ecc56ce3
b2622877f3047940bcfcb123c84e2e30ba9276b326982a6575e52032ecc56ce3: it is too simplistic/systematic
咕噜咕噜查了一下发现,可能是这里出了问题:
b2622877f3047940bcf cb 123 c84e2e30 ba 9276b326982a6575e520 32 ecc 56 ce3
按照说法是五六处『连续排列』的字母数字大大超出了限制,因此被认定为『太简单』
不过,这个口令真的能被认为是『太简单了』吗?
不知道各位 V 友有无什么好看法
1
raysonx 2023-09-11 21:52:59 +08:00
我把你的密码放到 bitwarden 提供的密码强度测试工具检测了一下,给出的结果是要几百年才能破解: https://bitwarden.com/password-strength/
|
2
benjix 2023-09-11 21:56:07 +08:00 via iPhone
因为你的密码只包含小写字母和数字,跟内容无关。
|
3
leonshaw 2023-09-11 22:55:25 +08:00 via Android 1
系统有它的规则,没必要纠结这个。要说强度,只要够长,用 0 1 两个字符就够了。
|
4
LDa 2023-09-11 23:22:05 +08:00
现在的密码强度有连续数字和滚键盘校验
|
5
yigecaiji 2023-09-11 23:30:11 +08:00 via Android
只有小写和数字是这样的,可能要包含大写字母和特殊符号
|
6
f14g 2023-09-11 23:39:58 +08:00 via Android
base64 编码处理一下😂
|
7
cosette 2023-09-11 23:46:17 +08:00
长度足够,排除掉某些特殊排列的组合,在有重试限制的情况下依然是相当安全的。
在长度受限的情况下,加入特殊符号可以一定程度上增加强度。总的来说,避开常见密码,不要太短两条原则就够了。 |
8
764664 2023-09-11 23:47:45 +08:00
|
9
1423 2023-09-12 00:32:34 +08:00
|
10
CodeCodeStudy 2023-09-12 09:15:30 +08:00
根据 8 楼给出的代码,b2622877f3047940bcfcb123c84e2e30ba9276b326982a6575e52032ecc56ce3
出现了 87 bc cb 12 23 ba 76 32 98 65 32 56 ,总共 12 个地方是相邻的值,也就是代码里的变量 i maxrepeat = 3+(0.09*strlen(password)); maxrepeat 是 8 i 大于 maxrepeat ,所以提示 it is too simplistic/systematic |
11
jifengg 2023-09-12 09:56:03 +08:00
我倾向于是因为只有小写和数字导致的。
|
12
aloxaf 2023-09-12 10:39:31 +08:00
是这样的,不少密码强度检测工具都完全不考虑长度……
|
13
leaflxh 2023-09-12 11:55:54 +08:00
明文后面加上 fuckshit 再 sha256sum 一下(
|
14
Admstor 2023-09-12 12:22:16 +08:00
|
15
zsh2517 2023-09-12 13:22:30 +08:00
我没用过 cracklib-check 。不过单纯从密码系统的设计上来说,有可能是没有通过一些硬性条件的校验,比如说,大小写数字特殊符号等至少包含 X 种。如果这个硬性条件没满足那么无法通过。另外可能就是撞上了一些固定的校验规则而被一票否决(比如 idu2gi23g89y2398yh9123456ixohs0f ,因为包含 123456 可能会被否认安全性)
大部分时候长度是能解决安全性问题的( md5(123456) 这种态简单的不算)。就像 3 楼说的,只要够长,0 和 1 两个字符都行(可以这么想,假设我有一个足够安全的密码,那么按位转二进制,安全性不会比原来的差)。 但是一般设计上,期望用户输入的密码,大部分时候不是无限长度的,而是在一个有限长度内达到特定的安全性。 我自己用 1password ,里面就有一类“易记密码”,比如“nightcap-boatyard-helix-goodly”,安全性评价大概与 10~11 位字母+数字相同。日用感觉是足够的,而且在不知道规则的情况下反而不容易被密码表撞上 |
17
julyclyde 2023-09-12 15:08:20 +08:00
假设被外人偷偷知道了你的密码是一个 sha256
那么这里面“能出现哪些字符”范围就缩小很多了 虽然不知道具体是几,但是可以穷举,而且代价比 什么都不知道 要小很多 |
19
rocksolid 2023-09-12 16:06:06 +08:00
实际问题就是你没大写和特殊字符
|