【问题标题】:How to encrypt data for specific columns in mysql?如何加密mysql中特定列的数据?
【发布时间】:2021-11-19 03:45:37
【问题描述】:

我正在探索加密特定列的 mysql 中的数据。我偶然发现了 AES_ECRYPT() 和 AES_DECRYPT() 函数,但问题是我在 java 中使用 Hibernate 并且 @ColumnTransformer 注释需要该值是恒定的,即在编译时可用。但我知道从同一服务器硬编码密钥不是一个好习惯,所以我想将它存储在外部服务器中并通过 API 获取密钥。但是我该如何使用 @ColumnTransformer 呢?

我应该只在应用程序级别加密和解密并将加密数据作为 varchar 存储在 mysql 中吗?感谢您提供任何帮助或建议。

【问题讨论】:

    标签: java mysql hibernate security encryption


    【解决方案1】:

    我认为通过 API 调用获取密钥并不是最佳解决方案。考虑在密钥检索 API 不可用的情况下会发生什么。这种情况会妨碍您的应用程序的正确行为。我同意硬编码值不是正确的做法。

    您可以通过应用程序或数据库(如果支持)的配置属性公开密钥。此外,您还可以使用 Spel 调用动态返回所需值的方法来解决注释中对常量值的需求。

    【讨论】:

    • 但据我了解加密,将密钥保存在同一台服务器上是一种不好的做法。
    猜你喜欢
    • 2011-05-15
    • 2020-05-02
    • 1970-01-01
    • 2014-08-28
    • 2021-09-09
    • 2015-03-18
    • 1970-01-01
    • 2019-07-01
    • 2020-05-01
    相关资源
    最近更新 更多