我正在尝试将列特定的加密密码存储为 application.properties 秘密。
我尝试过:
@Value("${database.encrypt.secret}")
private String secret;
@ColumnTransformer(read = "TRIM(CHAR(0) FROM UTF8TOSTRING(DECRYPT('AES', HASH('SHA256', STRINGTOUTF8('" + secret + "'), 1), name)))", write = "ENCRYPT('AES', HASH('SHA256', STRINGTOUTF8('" + secret + "'), 1), STRINGTOUTF8(?))")
private String name;
但是@ColumnTransformer读写属性需要一个常量,所以我不能做这样的事情。
有什么办法可以实现这个目标吗?
您尝试过自定义类型吗?或者遵循本指南。
https://sultanov.dev/blog/database-column-level-encryption-with-spring-data-jpa/