如何在 Jooq 自定义转换器中应用 MySQL 加密函数?

问题描述 投票:0回答:0

我正在尝试使用 Jooq 库实现以下目标,

  • 使用 org.jooq.util.mysql.MySQLDSL 方法加密和解密指定列
  • 这必须是一个 jooq 全局配置,这样每当一个新的查询方法返回 fetch/insert/update 时,应该自动处理记录加密/解密。
  • 加密/解密的密钥将是同一张表中另一列的值
  • 我在这里尽量避免使用 Spring 框架。

Currently I'm trying to do this using

org.jooq.Converter
and
org.jooq.meta.jaxb.ForcedType
但是

  • 无法访问 CustomConverter 类中的
    org.jooq.RecordContext
    以获取密钥
  • 我也无法进行这种通用配置

我指的链接:

更新: 简而言之,这就是我试图通过 Jooq 实现的目标:

CREATE TABLE TESTCRYPT(
Id mediumint AUTO_INCREMENT,
Secret int NOT NULL,
encrypteddata BLOB,
PRIMARY KEY(Id)
);

INSERT INTO TESTCRYPT(Secret,encrypteddata) VALUE ('1234',AES_ENCRYPT('my-data','1234'));

SELECT Secret ,AES_DECRYPT(encrypteddata,Secret) from TESTCRYPT t ;

java jooq jooq-codegen
© www.soinside.com 2019 - 2024. All rights reserved.