繁体   English   中英

AES解密和加密,存储在什么地方?

[英]AES Decryption and encryption, what to store and where?

我有一些敏感数据需要存储在数据库中,但是我还需要能够将该数据解密到其原始状态。 我一直在阅读,似乎AES是最好的选择(如果您不同意,那么我很乐意收到任何建议!)。

我用AES不太了解的是,有一种叫做IV的东西,如果我正确理解了,IV就像某种“键/密码”。

所以。 我的问题是。 如果我想解密数据库存储的值,那么我还需要知道IV和解密它的密钥吗? 我还需要将这两个值存储在数据库中吗?

力量在关键。 有通常与IV是已知的没有问题的,所以将它存储沿着数据(或者作为一个单独的列或只是级联到开始,如常见的方法来做到这一点)是好的。

IV可能还有其他要求,但是您必须确保遵循。 这些可能围绕IV的明显随机性,或者IV不应被重用(尽管在这种情况下,应更正确地将其称为Nonce)。

IV用于以相同的文本永远不会以相同的方式加密的方式“随机化”数据。 这样可以增强加密数据的强度。

IV有用的示例:您加密密码。 用户A和用户B都使用密码“ HelloWorld!”。 如果不使用和IV,则两种情况下的加密数据均相等。 如果某人知道用户A的密码并发现加密的数据与用户B的密码相同,则可以使用用户A的密码以用户B的身份登录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM