密码自加密是否可行?

时间:2014-10-23 20:26:02

标签: security encryption passwords

我一直在阅读有关密码存储的文章,并且基本上找到了两种常用的技术。

  1. 加密使用单个密钥存储的所有密码。
  2. 使用哈希
    • 使用哈希与盐。
  3. 存储密码"是否存在自身加密的缺陷",即使用密码password1加密txt password1而不加密未加密,以及当用户加密时想要登录,解密,比较和授予访问权限(或不是)?

    我对这个话题不是很有文化,所以,有人可以启发我吗?

1 个答案:

答案 0 :(得分:6)

这比使用哈希与盐有三个弱点。

  1. 它容易受到字典攻击:任何掌握密码文件的人都可以尝试使用常用密码(例如password1)并查看它们是否自动加密到存储的值。更糟糕的是,取决于你如何进行加密,这可以在获取密码文件之前离线完成,结果存储在查找表中,这样当有人获取你的文件时,它就可以立即被破解。
  2. 它需要可变数量的存储空间,这对数据库不太友好。散列具有固定长度的输出,但加密长度随输入的长度而变化。
  3. 不容易迭代。真正正确的方法是使用带有salt的哈希,但要迭代函数几千次(即哈希,然后再次哈希,然后再次哈希......)。这意味着验证密码仍然可以在一两秒内完成(取决于您散列的次数),这通常没有问题;但它更难破解,因为你现在尝试的每个密码都需要进行几千次的散列。这里没有明显的方法,因为加密可能会增加长度(当你添加初始化向量等时)。
  4. 真的,没有任何理由可以做到这一点,当有一个坚实而完善的技术可以做得更好。