我应该为每列使用不同的密钥吗?

时间:2016-10-04 06:47:16

标签: java encryption

我正在加密我的数据库。我有多个列,我想加密。我在Java中使用AES / ECB / PKCS5Padding cypher。

现在,问题是,我应该为每一个使用不同的密钥,还是应该只为所有列使用一个密钥?

1 个答案:

答案 0 :(得分:3)

使用尽可能多的密钥,因为需要访问该数据的是交叉角色。

表(对于多用户密码管理器)应该如下所示:

  • 用户名
  • 密码

然后您的系统应该能够提供密钥来解密用户名,但只有用户才能提供密钥来解密密码。对于那个schenario你需要2把钥匙。

使这复杂化;如果系统,用户和可能的其他用户都能够提供密钥来解密密码,那么你需要在两个或更多不同的列中使用密码,这可能是(尽管不是技术上的)导致你不能的情况有3NF数据库设计。