Security 系统如何知道密码何时包含以前密码的一部分?

Security 系统如何知道密码何时包含以前密码的一部分?,security,encryption,hash,Security,Encryption,Hash,可能是个超级基本的问题。我知道很多在线服务都使用散列密码和salt密码,而不是为了安全起见将它们存储为明文。我所在大学的门户网站要求学生每6个月更改一次密码。据我所知,该系统是基于Oracle软件构建的 然而,我的问题是,系统如何知道我的20个字符长的密码(带有大写字母、数字和符号)何时包含3个字符,其顺序与我试图设置的新密码相同?如果密码是散列的,那么算法不应该是单向的吗?或者系统可能会加密明文密码并存储它们吗?那不是更不安全吗 对不起,如果这个问题很难理解。如果你需要我澄清,请告诉我。提前谢

可能是个超级基本的问题。我知道很多在线服务都使用散列密码和salt密码,而不是为了安全起见将它们存储为明文。我所在大学的门户网站要求学生每6个月更改一次密码。据我所知,该系统是基于Oracle软件构建的

然而,我的问题是,系统如何知道我的20个字符长的密码(带有大写字母、数字和符号)何时包含3个字符,其顺序与我试图设置的新密码相同?如果密码是散列的,那么算法不应该是单向的吗?或者系统可能会加密明文密码并存储它们吗?那不是更不安全吗


对不起,如果这个问题很难理解。如果你需要我澄清,请告诉我。提前谢谢

可能是对prevoius密码表进行了加密(可能使用rot26)。

系统只能检查新密码是否与旧密码完全匹配(比较哈希值)。如果它检查子字符串匹配,则密码很可能以明文形式存储

不,布埃诺


编辑:当然也可以是尼克说的。

如果在创建新密码时必须输入以前的密码,系统可以直接比较它们。这甚至可以在客户端完成

编辑

只有少数几种其他的可能性

  • 他们以明文形式存储您的密码(在这种情况下,他们应该解雇整个IT部门)
  • 他们的加密方法是双向的,即可以解密(在这种情况下,他们应该解雇整个it部门)
  • 它们会在您登录时临时存储您的密码。可能在cookie中或服务器上。(在这种情况下,他们应该解雇整个IT部门)

创建新密码时是否必须输入以前的密码?如果是这样的话,它可以直接比较。另外+1在更改密码时给出唯一有意义的答案,您只需要指定新密码。嗯。。。唯一剩下的解释是,他们要么不加密,要么加密但可以解密,要么在你登录时,他们将你的密码临时存储在明文中。我猜他们是在加密密码,因为其他情况看起来很糟糕。在读了你的“几乎没有其他可能”之后,坐在教室里试图抑制我的笑声,这让我的胸部很痛。谢谢你,26个字母的轮换不会让你回到同一个字母吗?编辑:哇,我想这是个笑话