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

学校建设门户网站的好处wordpress耗时显示

学校建设门户网站的好处,wordpress耗时显示,禹城网站建设价格,网站后台的编辑器不显示什么是数据脱敏 数据脱敏是指对某些敏感信息#xff0c;例如姓名、身份证号码、手机号、固定电话、银行卡号、邮箱等个人信息#xff0c;通过脱敏算法进行数据变形#xff0c;以保护敏感隐私数据。 数据脱敏通常涉及以下几种主要方法#xff1a; 替换#xff1a; 将原始…什么是数据脱敏 数据脱敏是指对某些敏感信息例如姓名、身份证号码、手机号、固定电话、银行卡号、邮箱等个人信息通过脱敏算法进行数据变形以保护敏感隐私数据。 数据脱敏通常涉及以下几种主要方法 替换 将原始数据中的敏感信息替换为不敏感的等效数据。例如将真实姓名替换为随机生成的名称将电话号码替换为虚构的号码。扰动 对数据进行微小的变化以使其仍然保持某种程度的统计一致性但不足以使个人身份可被轻松识别。这包括添加噪声或对数值进行微小的随机化。屏蔽 将敏感信息从数据中删除或隐藏。例如用特定字符或占位符替换敏感文本。一般化 减少数据的精确度使得数据更加模糊。例如将年龄精确到天数的数据一般化为年龄范围。删除 完全删除不必要的敏感信息。 Spring Boot自定义注解实现数据脱敏 依赖版本 JDK 17 Spring Boot 3.2.0 Hutool-core 5.8.24 非必须 源码地址Gitee 导入依赖 dependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-core/artifactIdversion5.8.24/version/dependency /dependencies自定义脱敏类型枚举 /*** description 数据脱敏策略枚举*/ public enum DesensitizationTypeEnum {//自定义CUSTOM,//用户idUSER_ID,//中文名CHINESE_NAME,//身份证号ID_CARD,//座机号FIXED_PHONE,//手机号MOBILE_PHONE,//地址ADDRESS,//电子邮件EMAIL,//密码PASSWORD,//中国大陆车牌包含普通车辆、新能源车辆CAR_LICENSE,//银行卡BANK_CARD }自定义脱敏序列化器 import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.DesensitizedUtil; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.ContextualSerializer; import com.yiyan.study.annotation.Desensitization; import com.yiyan.study.enums.DesensitizationTypeEnum; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor;import java.io.IOException; import java.util.Objects;/*** description 自定义脱敏序列化类*/ AllArgsConstructor NoArgsConstructor public class DesensitizationSerialize extends JsonSerializerString implements ContextualSerializer {private DesensitizationTypeEnum type;private Integer startInclude;private Integer endExclude;Overridepublic void serialize(String str, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {switch (type) {// 自定义类型脱敏case CUSTOM - jsonGenerator.writeString(CharSequenceUtil.hide(String.valueOf(str), startInclude,endExclude startInclude ? endExclude : str.length() endExclude));// userId脱敏case USER_ID - jsonGenerator.writeString(String.valueOf(DesensitizedUtil.userId()));// 中文姓名脱敏case CHINESE_NAME - jsonGenerator.writeString(CharSequenceUtil.hide(String.valueOf(str), 1, str.length()));// 身份证脱敏case ID_CARD - jsonGenerator.writeString(DesensitizedUtil.idCardNum(String.valueOf(str), 1, 2));// 固定电话脱敏case FIXED_PHONE - jsonGenerator.writeString(DesensitizedUtil.fixedPhone(String.valueOf(str)));// 手机号脱敏case MOBILE_PHONE - jsonGenerator.writeString(DesensitizedUtil.mobilePhone(String.valueOf(str)));// 地址脱敏case ADDRESS - jsonGenerator.writeString(DesensitizedUtil.address(String.valueOf(str), 8));// 邮箱脱敏case EMAIL - jsonGenerator.writeString(DesensitizedUtil.email(String.valueOf(str)));// 密码脱敏case PASSWORD - jsonGenerator.writeString(DesensitizedUtil.password(String.valueOf(str)));// 中国车牌脱敏case CAR_LICENSE - jsonGenerator.writeString(DesensitizedUtil.carLicense(String.valueOf(str)));// 银行卡脱敏case BANK_CARD - jsonGenerator.writeString(DesensitizedUtil.bankCard(String.valueOf(str)));}}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);if (desensitization null) {desensitization beanProperty.getContextAnnotation(Desensitization.class);}if (desensitization ! null) {return new DesensitizationSerialize(desensitization.type(), desensitization.startInclude(),desensitization.endExclude());}}return serializerProvider.findValueSerializer(beanProperty.getType(), beanProperty);}return serializerProvider.findNullValueSerializer(null);} }自定义脱敏注解 import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.yiyan.study.enums.DesensitizationTypeEnum; import com.yiyan.study.serialize.DesensitizationSerialize;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** 脱敏注解*/ Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) JacksonAnnotationsInside JsonSerialize(using DesensitizationSerialize.class) public interface Desensitization {/*** 脱敏数据类型CUSTOM注解下startInclude和endExclude生效*/DesensitizationTypeEnum type() default DesensitizationTypeEnum.CUSTOM;/*** 脱敏开始位置包含*/int startInclude() default 0;/*** 脱敏结束位置不包含*/int endExclude() default 0; }数据脱敏测试 定义测试对象 import com.yiyan.study.annotation.Desensitization; import com.yiyan.study.enums.DesensitizationTypeEnum; import lombok.Builder; import lombok.Data;import java.io.Serializable;Data Builder public class DesensitizationDTO implements Serializable {Desensitization(type DesensitizationTypeEnum.CHINESE_NAME)private String username;Desensitization(type DesensitizationTypeEnum.EMAIL)private String email;Desensitization(type DesensitizationTypeEnum.ADDRESS)private String address;Desensitization(type DesensitizationTypeEnum.MOBILE_PHONE)private String phoneNumber;Desensitization(type DesensitizationTypeEnum.CUSTOM, startInclude 1, endExclude -2)private String note; }测试接口 import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.yiyan.study.model.DesensitizationDTO; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;/*** 启动类*/ SpringBootApplication Slf4j RestController public class DesensitizationApplication {private static final DesensitizationDTO dto com.yiyan.study.model.DesensitizationDTO.builder().username(小李).phoneNumber(12300000456).email(ligmail.com).address(XX.YY.DD.FF).note(123456789).build();public static void main(String[] args) throws JsonProcessingException {SpringApplication.run(DesensitizationApplication.class, args);ObjectMapper mapper new ObjectMapper();String s mapper.writeValueAsString(dto);log.info(Json : {}, s);}GetMapping(/test)public DesensitizationDTO desensitizationTest() {return dto;} }
http://www.pierceye.com/news/314600/

相关文章:

  • 深圳住建设局官方网站大连在哪个省市
  • 吉林企业建站系统费用wordpress幻灯片加载很慢
  • com域名和网站小型企业网站排名前十
  • 网站内容 优化泉州网站开发公司
  • 假发外贸网站模板做图库网站需要多少钱
  • 网站建设公司 知道万维科技wordpress支持移动
  • 经典网站建设邢台网站建设策划
  • 系统数据库与建设网站网站提交入口大全
  • 网站做数据分析的意义西安网站建设kxccc
  • 免费建个人网站alexa排名搜索
  • 做的网站第二年续费多钱店铺装修模板
  • 这么自己建设网站中卫网站设计厂家
  • 公司网站制作哪家公司好广州建设执业资格注册中心网站
  • 北京所有做招聘类网站建站公司Apache Wordpress伪静态处理
  • 大兴做网站公司制作网页可以用什么软件
  • 该怎么给做网站的提页面需求网上购物平台怎么建立
  • 用pw后缀的网站阳江网络问政平台首页
  • 建站网站建设哪个好网页设计个人总结
  • 网站开发时间进度表宁波网站建设使用技巧分享
  • wordpress官网案例移动端优化
  • 广告投放网宁波seo网络推广报价
  • 网站模板 哪个好烟台高端网站建设公司
  • 福建网站开发手机软件app下载
  • 网站开发的功能需求怎么写网页版式设计分析
  • 荔浦网站开发乐陵新闻最新消息今天
  • 盘锦网站建设服务如何上传网站到空间
  • 怎样建设自己网站常德seo招聘
  • 用别人家网站做跳转做商品抬价是什么兼职网站
  • 合肥市建设信息中心网站怎么做网站的签约编辑
  • 6入空间网站免费观看网站标题怎么修改