zoukankan      html  css  js  c++  java
  • Jpa实现入库自动加密,查询时自动解密

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

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

    代码

    /**
     * 示例.
     * <p>
     * Created by DaiWang on 2020/06/02.
     * </p>
     *
     * @author DaiWang
     */
    @Data
    @EqualsAndHashCode(of = "id")
    @Entity
    @Table(name = "tbl_xxx_chlrecord")
    public class ChannelRecord2 implements Serializable {
    
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private String id;
    
      /**
       * 请求参数。
       * 将自动进行加解密。
       */
      @Column(name = "[request_param]")
      @Convert(converter = EncryptConverter.class)
      private String requestParam;

    /** * 自定义转换器: 入库加密,出库解密. * @author DaiWang */ @Converter // Converter属性autoApply 需默认或为false,否则未指定对的字段也会被加密 public static class EncryptConverter implements AttributeConverter<String, String> { /** * 加密. */ @Override public String convertToDatabaseColumn(String text) { // ... 加解密实现 return "密文"; } /** * 解密. */ @Override public String convertToEntityAttribute(String s) { // ... 加解密实现 return "明文"; } } }
  • 相关阅读:
    ThroughRain第一次冲刺个人总结
    【操作系统】实验四 主存空间的分配和回收
    学习回顾与总结
    关于学术诚信与职业道德的承诺
    sprint个人总结+读书博客
    实验三 进程调度模拟程序
    团队项目3.0
    软件改进
    团队项目项目:二次开发
    作业调度
  • 原文地址:https://www.cnblogs.com/laeni/p/13033401.html
Copyright © 2011-2022 走看看