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

时间:2012-02-09 20:28:45

标签: security encryption hash

可能是一个超级基本问题。我知道许多在线服务哈希和盐密码,而不是出于安全目的将它们存储为明文。我大学的门户网站要求学生每6个月更改一次密码。据我所知,该系统建立在Oracle软件之上。

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

很抱歉,如果这个问题很难理解。如果您需要我澄清,请告诉我。提前谢谢!

3 个答案:

答案 0 :(得分:12)

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

修改

只有其他一些可能性

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

答案 1 :(得分:2)

以前的密码表可能是加密的(可能使用rot26)。

答案 2 :(得分:1)

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

没有bueno。

编辑:当然,尼克说的话。