代码之家  ›  专栏  ›  技术社区  ›  Pace

加密和散列的区别

  •  9
  • Pace  · 技术社区  · 14 年前

    我们到处使用加密的主要原因是我们已经有了一个很好的加密库和一个系统密钥。另外,花时间开发一个哈希库似乎并不值得。

    我们使用加密而不是散列会造成安全风险吗?

    6 回复  |  直到 14 年前
        1
  •  7
  •   Joey Gumbo    14 年前

    通过将纯文本与密文一起存储,如果有人想找到您的密钥,您就创建了一个很好的测试字符串存储库。因为你显然是用这个密钥加密的 我会说的 风险。

        2
  •  4
  •   Peter Tillemans    14 年前

    如果您使用的是对称密码,并且系统部署在“敌对”环境中,那么有动机的个人隔离密钥并签署自己(或其他人)的许可证数据是一个时间问题。

    在这些情况下,您需要一个非对称密码来用私钥“签名”许可证,私钥安全地存储在保险库中的计算机上,与外部世界没有连接。好吧,有点夸张,但是在一个安全的环境里。

        3
  •  1
  •   Mau    14 年前

    嗯,加密是一个双向的过程。假设您使用的是基于密钥的加密,那么只要加密密钥是安全的并且您使用的是现代算法(比如AES),那么您就是安全的。

        4
  •  1
  •   Damien Dennehy    14 年前

    任何可以加密的数据也可以解密。

        5
  •  1
  •   Henri    14 年前

    因此,在您的情况下,MAC(例如HMAC)应该是一个不错的选择!

        6
  •  0
  •   Tom    14 年前

    另一方面,散列将完全依赖于发现冲突的难度,这可能是一种比保守密钥秘密更安全的方案。