我有一些敏感数据需要存储在数据库中,但是我还需要能够将该数据解密为其原始状态。 我一直在做一些阅读,似乎AES是要走的路(如果你不同意,那么我很乐意收到任何建议!)。
我不太熟悉AES的东西是有一种称为IV的东西,如果我确实做到了这一点,IV就像某种键盘/密码"。
因此。我的问题是。如果我想解密数据库存储的值,那么我还需要知道IV和解密它的密钥吗?我还需要将这两个值存储在数据库中吗?
答案 0 :(得分:1)
实力在于密钥。 IV是已知的通常没有问题,因此将它与数据一起存储(作为单独的列或者只是连接到开头,这是常用的方法)很好。
IV可能还有其他一些要求,但是,您应该确保遵循。这些可能是IV的明显随机性,或IV不应该重复使用(尽管在这种情况下,它应该更准确地称为Nonce)。
答案 1 :(得分:0)
IV用于随机化'您的数据以相同文本永远不会以相同方式加密的方式。这会增加加密数据的强度。
IV很有用的示例:您加密密码。 用户A和用户B都使用密码' HelloWorld!'。在没有和IV的情况下,加密数据在两种情况下都相等。 如果有人知道用户A的密码并且看到加密数据与用户B相同,则他可以使用用户A的密码以用户B登录。