MySQL CBC加密和存储初始化向量

时间:2016-03-15 14:22:37

标签: mysql encryption aes

我正在开展一个HIPAA项目,我注意到我需要加密所有包含或可能包含私人健康信息的列级数据。这就是说我希望在block_encryption_mode = aes-256-cbc中使用带有MySQL的AES_ENCRYPT和AES_DECRYPT。看起来我需要为表中的每一行唯一一个IV(初始化向量)。我需要同样的IV来加密和解密。我应该将它存储在数据库中的列中吗?

对于列类型,最好使用varbinary / blob或HEX加密结果并将其放入varchar / text吗?

欢迎任何其他建议尽可能保证数据安全。

1 个答案:

答案 0 :(得分:0)

商店是一个专栏,不需要保密。

我会使用varbinary / blob而不是十六进制编码数据。

注意:Base64是更好的选项,十六进制,存储开销更少。

在某种程度上解决@Marc:如何保护加密密钥?服务器保护和管理员访问权限有多好。