当我尝试使用 key (从属性文件检索)解密密码列 (PWD_COL) 时,Hibernate 中的 @Formula
注释出现问题
代码:
@Formula("decrypt(PWD_COL, '" + MyKeys.DECRYPT_KEY + "')")
private String myPwd;
我正在尝试从另一个属性文件获取 DECRYPT_KEY。
我收到错误:
The value for annotation attribute Formula.value must be a constant expression
或者,有没有办法模仿Java中的SQL解密功能?
注意:请将密码字段视为另一个值。此练习的最终目的是为了一些不太重要但仍然需要加密的事情。
最佳答案
我知道这不是您想要的,但让我给您一个关于在数据库中存储密码的建议,也许您应该改变您对如何使用密码的心态。
出于安全原因,您不应解密数据库上的密码,因此如果有人丢失密码,他们应该创建一个新密码。
要验证登录和相关任务,您应该从表单中获取密码,对其进行加密并与数据库中的加密内容进行比较。
如果您确实想继续以这种方式进行操作,请使用带有有效 sql 值的 @formula。
关于java - @formula 注释或 sql 解密函数的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30168084/