zoukankan      html  css  js  c++  java
  • SpringBoot中数据加密存储和获取后解密展示AttributeConverter的实现

    1. 需求:

    数据库存入数据的时候要加密处理,不同的字段加密方式不同。

    界面上展示的时候要解密处理,解密方式相同。

    2. 实现方案一:

    定义公共的加密解密方法,然后在对应的字段上重写他的getset方法,然后调用公共加密解密算法。

    3. 实现方案二:

    用AttributeConverter实现

    代码如下:

    实体对象上这样写:

    @Convert(converter = SFStringEncryptConverter.class)
    private String cardNumber;

    但是 这样只能实现一种加密和解密,如果不同的字段对应不同的算法就难以实现,因为只能传过来一种参数。

    实现方案3:

    想法:实现类中增加一个成员变量dataType,但是dataType的值需要从实体对象上传过来,就必须重写covert注解,但是convert注解不能被继承,自己重新写的实现了不起作用,所以这种办法行不通。

    实现方案4:

    分别写多个实现类,分别实现AttributeConverter,然后分别写到不同的字段上。

    疑问:本人总感觉实现方案3 可能实现,望大神不吝赐教。

  • 相关阅读:
    大话设计模式--建造者模式 Builder -- C++实现实例
    HTTP状态码大全
    安装mongodb卡顿
    sublime_win配置
    sublime__最全面的 Sublime Text 使用指南
    sublime text 3搭建python 的ide
    spring boot与 spring.factories
    自定义xml spring bean
    统计分析: 跨库多表join
    java基础
  • 原文地址:https://www.cnblogs.com/baoyi/p/springboot_AttributeConverter.html
Copyright © 2011-2022 走看看