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 "明文"; } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM