java - @formula 注释或 sql 解密函数的替代方案

标签 java sql hibernate

当我尝试使用 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/

相关文章:

sql - Postgresql:根据邻接模型中的子列更新父列

java - .persist() 在新线程的 Spring Roo 中不起作用

java - 尝试使用 ViewPager 和 GridView 在 android 中创建图片库时出现错误

sql - 获取两个日期时间之间的所有重复行。

java - 如何构造一个具有抽象类类型字段的对象?

java - MyBatis 执行获取并基于返回值在 Xxxmapper.xml 中执行更新/插入?

java - Hibernate 4.3如何配置二级缓存

java - 向 Spring 和 Hibernate 5 注册事件监听器

java - 平面化 n 阶树结构 : Java Streams

java - 有时程序运行良好,有时程序不执行任何操作