首先,我试图在公共网站上加密非常敏感的信息。用户将能够更新他们的信息,管理员将需要访问此信息。我担心如果加密数据有些受到损害,那么每个人的信息都会因为他们都使用相同的盐和密钥而存在。
所以我知道使用盐,并且密钥总是首选。但如上所述,如果他们对加密数据进行反向工程,那么它的用途是什么。
我的解决方案是将密钥和盐存储在DB中,具有许多行和列,其中任何一个都可以用于盐或密钥。我会有一个算法,将使用用户帐户中修复的“东西”,用于确定使用哪个盐和密钥。这种方式从统计上讲,没有2年将有相同的盐和关键组合。
这是过度杀人还是好?
答案 0 :(得分:1)
我质疑第二个包含密钥和盐的数据库的值。考虑:
鉴于此,有两种可能的情况:
如果是#1,那么您可能应该将该加密算法用于所有的用户数据。当你能在一个步骤中有效地完成它时,为什么分两步呢?
如果情况是#2,那么你所做的所有工作只会给攻击者带来一点冲击。
所以,简短的回答:你的建议看起来像是不必要的工作或无效的道路阻塞。在任何一种情况下,它看起来像是一大堆工作,增加了复杂性,没有明显的收获。
那就是说,我可能误解了你的简短说明。如果是这样,请纠正我。