Mar*_*nio 3 java sql-server hibernate jpa
我正在开发一个需要加密某些数据库表字段的项目.这样做的方法是使用Microsoft SQL Server内置的加密/解密功能:
ENCRYPTBYPASSPHRASE('PASSPHRASE',‘text’)
DECRYPTBYPASSPHRASE ('12',password)
Run Code Online (Sandbox Code Playgroud)
所以要插入数据,SQL将是这样的:
insert into login_details(uid,username,password) values(1,'smith',EncryptByPassPhrase('12',’XXX’))
Run Code Online (Sandbox Code Playgroud)
并且为了读取数据,SQL将是这样的:
select uid,username, DECRYPTBYPASSPHRASE ('12',password) as Password from login_details
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何使用现有的OR映射在Hibernate中使用它?我正在使用JPA Annotations.使用JPA注释有一种简单的方法吗?
Ste*_*ole 10
听起来像是在寻找org.hibernate.annotations.ColumnTransformer
@Column( name = "pswd" )
@ColumnTransformer( write="EncryptByPassPhrase('12',?)", read="DECRYPTBYPASSPHRASE ('12',pswd)" )
public String getPassword() {
return password;
}
Run Code Online (Sandbox Code Playgroud)
恢复旧线程,但我有类似的要求,发现Jasypt对此有一些非常好的支持.
一旦配置了Jasypt,它就像添加" @Type(type="encryptedString")"注释一样简单:
@Column(name = "password")
@Type(type="encryptedString")
public String getPassword() {
return password;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10512 次 |
| 最近记录: |