我正在加密我的数据库。我有多个列,我想加密。我在Java中使用AES / ECB / PKCS5Padding cypher。
现在,问题是,我应该为每一个使用不同的密钥,还是应该只为所有列使用一个密钥?
答案 0 :(得分:3)
使用尽可能多的密钥,因为需要访问该数据的是交叉角色。
表(对于多用户密码管理器)应该如下所示:
然后您的系统应该能够提供密钥来解密用户名,但只有用户才能提供密钥来解密密码。对于那个schenario你需要2把钥匙。
使这复杂化;如果系统,用户和可能的其他用户都能够提供密钥来解密密码,那么你需要在两个或更多不同的列中使用密码,这可能是(尽管不是技术上的)导致你不能的情况有3NF数据库设计。