gpt4 book ai didi

algorithm - 使用 php 和 mysql 加密和解密数据的最佳方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:04:56 24 4
gpt4 key购买 nike

首先,我试图加密公共(public)网站上非常敏感的信息。用户将能够更新他们的信息,管理员将需要访问这些信息。我担心如果加密数据受到某种程度的破坏,那么每个人的信息也会因为他们都使用相同的盐和 key 而受到影响。

所以我知道使用盐,并且 key 始终是首选。但是如上所述,如果他们对加密数据进行逆向工程,它有什么用。

我的解决方案是将 key 和盐存储在数据库中,该数据库具有许多行和列,其中任何一个都可用于盐或 key 。我会有一个算法,该算法将使用用户帐户中固定的“某些东西”来确定要使用的盐和 key 。这样从统计上讲,没有 2 年会有相同的盐和 key 组合。

这是过度杀戮还是好事?

最佳答案

我质疑保存 key 和盐的第二个数据库的值(value)。考虑:

  • 用户数据中标识盐和 key 的“某物”必须与用户数据的其余部分不同地进行加密。否则,您将无法在没有先拥有它的情况下获得它。
  • 对加密的用户数据进行统计分析几乎肯定会发现“某物”的加密方式不同。这就像向公牛挥动红旗,攻击者将集中精力找出不同之处。
  • 你可以假设如果攻击者可以获得加密用户信息的数据库,他也可以获得盐和 key 的数据库。

鉴于此,有两种可能的情况:

  1. 标识 key 和盐的“东西”的加密是牢不可破的。也就是说,它是如此之好,以至于攻击者尽了最大的努力也未能揭示该“某物”与 key /盐数据库之间的联系。
  2. 攻击者发现“某物”的加密,因此能够解密您的敏感数据。

如果#1 是这种情况,那么您可能应该对所有 用户数据使用该加密算法。为什么分两步做某事,而一步就可以做到同样有效?

如果 #2 是这种情况,那么您所做的所有工作只是为攻击者设置了一个小障碍。

所以,简短的回答:您的建议看起来要么是不必要的工作,要么是无效的路障。无论哪种情况,在我看来都需要做大量工作并增加复杂性,但收效甚微。

也就是说,我可能误解了您的简短描述。如果是这样,请纠正我。

关于algorithm - 使用 php 和 mysql 加密和解密数据的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26619844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com