我使用Hibernate注释对密码进行加密
@ColumnTransformer(write = "crypt(?, gen_salt(...))")
private String password;
但是更新实体后,我在日志中看到重新生成了密码。
password=crypt('$2a$...
在保存对象时如何防止此字段再次加密?
答案 0 :(得分:1)
这里有两个可能的解决方案,我想你应该去第二个:
要么由于某种原因需要清除密码,然后在读取的表上使用“ decrypt”语句,请参见example 73 in section 2.3.19。
或者您只需要检查用户是否发送了正确的密码,并应该使用哈希功能而不是加密。参见difference between hash and encryption, and when to use each。
答案 1 :(得分:0)
使用该配置
@Column(name = "password", nullable = false, updatable = false)