有时候为了满足公司需求,需要对数据进行入库时加密。实现自动加解密之后代码逻辑还是和以前一样。

 

实现原理:利用Jpa的自定义数据类型转换,只不过我们这里是String转String,即从明文转密文或者密文转明文。

 

代码

/**
 * 自动加解密示例.
 *
 * @author DaiWang
 */
@Setter
@Getter @EqualsAndHashCode(of
= "id") @Entity @Table(name = "tbl_xxx") public class ChannelRecord implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private String id; /** * 需要自动加解密的字段。 */ @Column(name = "xxx") @Convert(converter = EncryptConverter.class) private String Xxx;

/** * 自定义转换器: 入库加密,出库解密.*/ @Converter public static class EncryptConverter implements AttributeConverter<String, String> { /** * 加密. */ @Override public String convertToDatabaseColumn(String text) { // ... 加解密实现 return "密文"; } /** * 解密. */ @Override public String convertToEntityAttribute(String s) { // ... 加解密实现 return "明文"; } } }

 

相关文章:

  • 2023-03-21
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2021-10-04
  • 2021-06-08
  • 2021-11-29
猜你喜欢
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2021-12-09
  • 2021-12-18
相关资源
相似解决方案