当前位置: 首页 > news >正文

网站系统模板高校思政主题网站建设的意义

网站系统模板,高校思政主题网站建设的意义,小公司怎么做免费网站,马鞍山网站设计制作什么是数据脱敏#xff1f;#xff1f;#xff1f; 数据脱敏#xff08;Data Masking#xff09;是一种数据安全技术#xff0c;旨在通过预先设定的规则和算法#xff0c;对原始数据中包含的敏感信息进行变形处理#xff0c;使得这些信息在非生产环境#xff08;例如…什么是数据脱敏 数据脱敏Data Masking是一种数据安全技术旨在通过预先设定的规则和算法对原始数据中包含的敏感信息进行变形处理使得这些信息在非生产环境例如开发、测试、分析或培训场景中使用时既能保持原有数据格式和业务逻辑的真实性又能有效保护个人隐私和商业机密不被泄露。 在实施数据脱敏时对诸如身份证号、手机号、银行卡号、个人姓名、家庭住址、电子邮件地址、医疗记录等敏感信息采取替换、遮盖、乱序、加密、截断等手段进行处理以防止这些敏感信息在未经授权的情况下被识别或滥用。 具体脱敏规则可以包括但不限于 替换例如将身份证号的部分数字替换为“*”或随机数。 随机化例如生成与真实数据格式相符但与原始数据无关的新数据。 固定模式脱敏例如保留电话号码的区号和最后几位其余部分替换。 加密对数据进行不可逆或可逆加密仅在必要时解密。 假名化用虚构的名字替换真实姓名。 代码实现主要是使用hutool中的脱敏方法(DesensitizedUtil)来实现 1、首先建立一个spring boot项目 dependencygroupIdcn.hutool/groupIdartifactIdhutool-core/artifactIdversion5.8.16/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!--json模块--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-json/artifactId/dependency 2、创建注解Desensitization Retention(RetentionPolicy.RUNTIME) Target(ElementType.FIELD) //Target用于限制自定义注解可以应用于哪些程序元素 //ElementType.FIELD可以应用于字段、枚举常量声明。 JacksonAnnotationsInside //作用是将一组注解合并到一个新的注解中。当这个新注解被应用到类或字段上时实际上相当于应用了它所包含的所有注解。 JsonSerialize(using DesensitizationSerialize.class) //用于自定义 Java 对象如何序列化成 JSON 格式 public interface Desensitization {/*** 脱敏数据类型只要在CUSTOMER的时候startInclude和endExclude生效*/DesensitizationTypeEnum type() default DesensitizationTypeEnum.CUSTOMER;/*** 开始位置包含*/int startInclude() default 0;/*** 结束位置不包含*/int endExclude() default 0; } 3.建立脱敏需要的枚举类 public enum DesensitizationTypeEnum {//自定义CUSTOMER,//用户idUSER_ID,//中文名CHINESE_NAME,//身份证号ID_CARD,//座机号FIXED_PHONE,//手机号MOBILE_PHONE,//地址ADDRESS,//电子邮件EMAIL,//密码PASSWORD,//中国大陆车牌包含普通车辆、新能源车辆CAR_LICENSE,//银行卡BANK_CARD } 4.创建自定义的序列化脱敏类 NoArgsConstructor AllArgsConstructor public class DesensitizationSerialize extends JsonSerializerString implements ContextualSerializer {// 保存敏感信息处理规则的枚举private DesensitizationTypeEnum type;private Integer startInclude;private Integer endExclude;// JsonGenerator 主要用于生成 JSON 数据并将其输出到各种类型的输出流//serialize 方法本身并不直接提供数据脱敏功能它主要是为了将表单数据转换为可传输的字符串格式Overridepublic void serialize(String str, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {switch (type) {//自定义 Java 对象如何序列化成 JSON 格式// 自定义类型脱敏case CUSTOMER://通过使用 CharSequenceUtil 类开发者可以更加方便地进行字符串相关的编程工作避免了重复编写基础的字符串处理逻辑jsonGenerator.writeString(CharSequenceUtil.hide(str,startInclude,endExclude));break;// userId脱敏case USER_ID:jsonGenerator.writeString(String.valueOf(DesensitizedUtil.userId()));break;// 中文姓名脱敏case CHINESE_NAME:jsonGenerator.writeString(DesensitizedUtil.chineseName(String.valueOf(str)));break;// 身份证脱敏case ID_CARD:jsonGenerator.writeString(DesensitizedUtil.idCardNum(String.valueOf(str), 1, 2));break;// 固定电话脱敏case FIXED_PHONE:jsonGenerator.writeString(DesensitizedUtil.fixedPhone(String.valueOf(str)));break;// 手机号脱敏case MOBILE_PHONE:jsonGenerator.writeString(DesensitizedUtil.mobilePhone(String.valueOf(str)));break;// 地址脱敏case ADDRESS:jsonGenerator.writeString(DesensitizedUtil.address(String.valueOf(str), 8));break;// 邮箱脱敏case EMAIL:jsonGenerator.writeString(DesensitizedUtil.email(String.valueOf(str)));break;// 密码脱敏case PASSWORD:jsonGenerator.writeString(DesensitizedUtil.password(String.valueOf(str)));break;// 中国车牌脱敏case CAR_LICENSE:jsonGenerator.writeString(DesensitizedUtil.carLicense(String.valueOf(str)));break;// 银行卡脱敏case BANK_CARD:jsonGenerator.writeString(DesensitizedUtil.bankCard(String.valueOf(str)));break;default:}}//BeanProperty 参数代表Java Bean中正在被反序列化的属性 初始化或定制该反序列化器的行为。Overridepublic JsonSerializer? createContextual(SerializerProvider serializerProvider, BeanProperty beanProperty) throws JsonMappingException {if (beanProperty ! null) {// 判断数据类型是否为String类型if (Objects.equals(beanProperty.getType().getRawClass(), String.class)) {// 获取定义的注解Desensitization desensitization beanProperty.getAnnotation(Desensitization.class);// 为nullif (desensitization null) {//就可以通过 getContextAnnotation 来找到这个注解并据此调整属性的序列化或反序列化行为desensitization beanProperty.getContextAnnotation(Desensitization.class);}// 不为nullif (desensitization ! null) {// 创建定义的序列化类的实例并且返回入参为注解定义的type,开始位置结束位置。return new DesensitizationSerialize(desensitization.type(), desensitization.startInclude(),desensitization.endExclude());}}//查找和提供合适的序列化器JsonSerializer来处理给定类型的数据return serializerProvider.findValueSerializer(beanProperty.getType(), beanProperty);}return serializerProvider.findNullValueSerializer(null);} } 5.测试:创建实例类添加脱敏注解 Data public class TestAnnotationDTO implements Serializable {/*** 自定义*/Desensitization(type DesensitizationTypeEnum.CUSTOMER,startInclude 5,endExclude 10)private String custom;/*** 手机号*/Desensitization(type DesensitizationTypeEnum.MOBILE_PHONE)private String phone;/*** 邮箱*/Desensitization(type DesensitizationTypeEnum.EMAIL)private String email;/*** 身份证*/Desensitization(type DesensitizationTypeEnum.ID_CARD)private String idCard;} 6、测试类 RestController RequestMapping(/test) public class TestApi {GetMapping(/test-annotation)public TestAnnotationDTO testAnnotation(){TestAnnotationDTO testAnnotationDTO new TestAnnotationDTO();testAnnotationDTO.setPhone(17634388363);testAnnotationDTO.setCustom(111111111111111111);testAnnotationDTO.setEmail(1433926101qq.com);testAnnotationDTO.setIdCard(4444199810015555);cereturn testAnnotationDTO;}} 7、启动项目:http://localhost:8080/test/test-annotation
http://www.pierceye.com/news/89995/

相关文章:

  • 一个电信ip做网站卡不卡企业网站建设排名资讯
  • 网站建设论文的开题报告制作一个app软件需要多少时间
  • 我们做的网站是优化型结构做二手车网站需要什么
  • 湛江网站建设保定公司互联网信息服务平台官网
  • 做展柜平时在哪里网站推广网站色彩学
  • 网站建站 seo企业网站建设方案模板
  • 国外有哪些做deal的网站四川建筑职业学校官网教务网
  • 无锡网站制作工作室临夏州建设厅官方网站
  • 怎么建设淘宝联盟的网站150m网站空间
  • 淘宝联盟链接的网站怎么做的wordpress幻灯片教程视频教程
  • 网站上线稳定后工作wordpress 不同的文章
  • 网站制作一条龙淘宝详情页制作
  • 海南营销网站建设安徽省住房城乡建设厅网站
  • 单招网站开发基础知识厚街网站建设公司
  • 怎么建微信群如何完成seo优化
  • 顺义广州网站建设wordpress更改字体大小
  • 网站二级目录怎么做婚纱摄影类网站
  • 做国外销售都上什么网站制作图片视频
  • jsp网站开发教学视频教程网站做的比较好的
  • 网站上传页面手机网站与PC网站
  • 在线绘画网站推广链接打开
  • wordpress 企业站 模板做情书直接点网站
  • 在线解压rar网站永康市网站建设
  • 广州建站商城长链接转换成短链接
  • 专注网站平台推广公司陕西网站备案查询
  • 品牌网站建设的关键要点网页布局的目的
  • 昆明网站建设贴吧南昌房产网二手房出售信息
  • 买了域名如何做网站网络营销活动策划方案模板
  • 邯郸网站建设服务网站能不能一边用 一边备案
  • 做网站多少钱一般网络营销和电子商务区别