“io.6,{9001JIAIua121698aa]”是如何过于简单化/系统化?

我刚刚在CentOS 5.6中创build了一个新用户,运行passwd user ,提供密码io.6,{9001JIAIua121698aa]] 。 系统说“不好的密码:它太简单/系统”。 没有什么大不了的(无论如何它都接受),但我真的很感兴趣,这是如此简单化/系统化?

我只能看到一个苹果开源实现 ,在这种情况下,你的密码看起来“太简单”了。 algorithm很可能是相似的。

代码是

  #define MAXSTEP 4 i = 0; ptr = password; while (ptr[0] && ptr[1]) { if ((ptr[1] == (ptr[0] + 1)) || (ptr[1] == (ptr[0] - 1))) { i++; } ptr++; } if (i > MAXSTEP) { return ("it is too simplistic/systematic"); } 

基本上它取得了密码中的所有字符,并检查下一个字符是否是当前字符+/- 1(字符是一个字节)。

在你提供的密码

  io.6,{9001JIAIua121698aa]] 

01JI2198递增i计数器。 MAXSTEP为4,触发了太简单/系统的信息。

该algorithm不是很聪明,因为它不考虑密码的长度和其他字符的复杂性。