【发布时间】:2018-03-30 15:36:53
【问题描述】:
我有一个设置敏感信息的 Jooq 更新查询。敏感信息是一个 char[],然后我用 Arrays.fill(characterArray, '0') 将其归零。
为了通过 Jooq 设置该值,我必须将该字符数组转换为字符串,这首先会破坏字符数组的目的,因为它会在内存中创建一个不可变的字符串,我会任由垃圾收集摆布。
有没有办法让 Jooq 将该值设置为字符数组而不先将其转换为字符串?
【问题讨论】:
-
为了做到这一点,您有一个类似于
char[]类型的全局变量,您在其中放置了某个给定点的敏感信息,并且您希望 jOOQ 读取该信息合适的时机并将其发送给 JDBC 驱动程序?char[]如何比字符串更安全? -
所以我收到了 char[] 类型的数据,然后在数据库中设置后将其清零。所以它只在服务的记忆中是安全的(松散地说,只是一个缩短的机会窗口)。我知道这只是杯水车薪,在其他领域也同样不安全,但每一点都有帮助。我只是问,因为我在其他任何地方都找不到答案。
-
哦,我明白了,所以归零与 jOOQ 并不真正相关,您只是将其作为一些额外的上下文信息提供。本质上,您想将
char[]绑定到数据库中的VARCHAR列,对吗? -
是的,正确。抱歉,我的解释从来没有像我最初设想的那样进行。 :)
-
是的,提出一个好问题需要练习 :) 但这就是这个平台的目的。问更多问题,它会变得更好。