密码自加密是否可行?

Ree*_*hok 4 security encryption passwords

我一直在阅读密码存储,并且基本上找到了2种常用技术.

  1. 加密使用单个密钥存储的所有密码.
  2. 使用哈希
    • 使用哈希与盐.

存储密码"自己加密"是否存在缺陷,即加密txt,password1密码用密码表示password1而不加密,并且当用户想要登录,解密,比较和授予访问权限时(或不是)?

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

chi*_*ity 6

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

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

真的,没有任何理由可以做到这一点,当有一个坚实而完善的技术可以做得更好.