一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)一個(gè)注解進(jìn)行數(shù)據(jù)脫敏

jf_ro2CN3Fa ? 來源:芋道源碼 ? 2023-06-14 09:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是數(shù)據(jù)脫敏

開胃菜

使用 Hutool 工具類實(shí)現(xiàn)數(shù)據(jù)掩碼

使用 Jackson 進(jìn)行數(shù)據(jù)序列化脫敏

注解實(shí)現(xiàn)數(shù)據(jù)脫敏

1、定義一個(gè)注解

2、創(chuàng)建一個(gè)枚舉類

3、創(chuàng)建我們的自定義序列化類

4、測試

后記

本文主要分享什么是數(shù)據(jù)脫敏,如何優(yōu)雅的在項(xiàng)目中運(yùn)用一個(gè)注解實(shí)現(xiàn)數(shù)據(jù)脫敏,為項(xiàng)目進(jìn)行賦能。希望能給你們帶來幫助。

什么是數(shù)據(jù)脫敏

數(shù)據(jù)脫敏是一種通過去除或替換敏感數(shù)據(jù)中的部分信息,以保護(hù)數(shù)據(jù)隱私和安全的技術(shù)。其主要目的是確保數(shù)據(jù)仍然可以在各種場景中使用,同時(shí)保護(hù)敏感信息,防止數(shù)據(jù)泄露和濫用。數(shù)據(jù)脫敏通常用于處理包含個(gè)人身份信息和其他敏感信息的數(shù)據(jù)集,如手機(jī)號(hào)、姓名、地址、銀行卡、身份證號(hào)、車牌號(hào)等等。

在數(shù)據(jù)脫敏過程中,通常會(huì)采用不同的算法和技術(shù),以根據(jù)不同的需求和場景對數(shù)據(jù)進(jìn)行處理。例如,對于身份證號(hào)碼,可以使用掩碼算法(masking)將前幾位數(shù)字保留,其他位用“X”或"*"代替;對于姓名,可以使用偽造(pseudonymization)算法,將真實(shí)姓名替換成隨機(jī)生成的假名。

下面我講為大家?guī)頂?shù)據(jù)脫敏掩碼操作,讓我們一起學(xué)起來吧。

基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro

視頻教程:https://doc.iocoder.cn/video/

開胃菜

下面給大家介紹的是使用兩種不同的工具類進(jìn)行數(shù)據(jù)脫敏,而我們今天的主題使用一個(gè)注解解決數(shù)據(jù)脫敏問題的主要兩個(gè)工具類。來跟著我學(xué)習(xí)吧。

使用 Hutool 工具類實(shí)現(xiàn)數(shù)據(jù)掩碼

比喻說我們現(xiàn)在要對手機(jī)號(hào)進(jìn)行數(shù)據(jù)脫敏,前三后四不掩碼,其他全部用 * 進(jìn)行掩碼

如下圖代碼所示,

我們定義了一個(gè)手機(jī)號(hào):17677772345,需要進(jìn)行數(shù)據(jù)脫敏。

調(diào)用的 Hutool 的信息脫敏工具類。

7f333bf6-0a53-11ee-962d-dac502259ad0.jpg

我們運(yùn)行一下看看結(jié)果。一個(gè)簡單的數(shù)據(jù)脫敏就實(shí)現(xiàn)了。

7f408be4-0a53-11ee-962d-dac502259ad0.jpg

Hutool 信息脫敏工具類

根據(jù)上面的一個(gè) Demo,大家可以看到我使用了 Hutool 的信息脫敏工具類進(jìn)行對手機(jī)號(hào)掩碼脫敏。那么讓我們一起看看 Hutool 信息脫敏的工具類吧。

官網(wǎng)文檔:

https://hutool.cn/docs/#/core/工具類/信息脫敏工具-DesensitizedUtil

看一下官網(wǎng)的介紹,支持多種脫敏數(shù)據(jù)類型,滿足我們大部分需求,如果需要自定義還提供了自定義的方法實(shí)現(xiàn)。

7f505196-0a53-11ee-962d-dac502259ad0.jpg

下面是里面定義號(hào)的脫敏規(guī)則,直接調(diào)用就可以實(shí)現(xiàn)簡單的數(shù)據(jù)脫敏,這里給大家介紹是因?yàn)槲覀兘裉煲o大家?guī)淼淖⒔鈱?shí)現(xiàn)數(shù)據(jù)脫敏核心就是利用我們的 Hutool 提供的工具類實(shí)現(xiàn),支持自定義隱藏。

7f671cd2-0a53-11ee-962d-dac502259ad0.jpg

使用 Jackson 進(jìn)行數(shù)據(jù)序列化脫敏

首先創(chuàng)建一個(gè)實(shí)體類,此實(shí)體類只有一個(gè)測試的手機(jī)號(hào)。

注解的講解:

@Data:lombok 的注解生成 get,set 等等方法。

@JsonSerialize(using = TestJacksonSerialize.class):該注解的作用就是可自定義序列化,可以用在注解上,方法上,字段上,類上,運(yùn)行時(shí)生效等等,根據(jù)提供的序列化類里面的重寫方法實(shí)現(xiàn)自定義序列化??梢钥聪孪旅娴脑创a,有興趣的朋友可以去了解一下,也能解決我們?nèi)粘i_發(fā)中很多場景。

7f8985d8-0a53-11ee-962d-dac502259ad0.jpg

@Data
publicclassTestDTOimplementsSerializable{
/**
*手機(jī)號(hào)
*/
@JsonSerialize(using=TestJacksonSerialize.class)
privateStringphone;
}

然后創(chuàng)建一個(gè) TestJacksonSerialize 類實(shí)現(xiàn)自定義序列化。

此類主要繼承 JsonSerializer,因?yàn)槲覀冞@里需要序列化的類型是 String 泛型就選擇 String。注意如果你使用此注解作用在類上的話,這里就是你要序列化的類。

重寫序列化方法,里面的實(shí)現(xiàn)很簡單就是調(diào)用我們的 Hutool 工具類進(jìn)行手機(jī)號(hào)數(shù)據(jù)脫敏。

publicclassTestJacksonSerializeextendsJsonSerializer{

@Override
@SneakyThrows
publicvoidserialize(Stringstr,JsonGeneratorjsonGenerator,SerializerProviderserializerProvider){
//使用我們的hutool工具類進(jìn)行手機(jī)號(hào)脫敏
jsonGenerator.writeString(DesensitizedUtil.fixedPhone(String.valueOf(str)));
}
}

讓我們測試一下吧,因?yàn)榇俗⒔馐沁\(yùn)行時(shí)生效,我們定義一個(gè)接口來測試。

@RestController
@RequestMapping("/test")
publicclassTestApi{

@GetMapping
publicTestDTOtest(){
TestDTOtestDTO=newTestDTO();
testDTO.setPhone("17677772345");
returntestDTO;
}
}
7faacf40-0a53-11ee-962d-dac502259ad0.jpg

可以看到測試成功,經(jīng)過上面的兩個(gè)工具類的介紹,聯(lián)想一下我們怎么通過兩個(gè)工具類定義一個(gè)自己的注解實(shí)現(xiàn)數(shù)據(jù)脫敏呢。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項(xiàng)目地址:https://github.com/YunaiV/yudao-cloud

視頻教程:https://doc.iocoder.cn/video/

注解實(shí)現(xiàn)數(shù)據(jù)脫敏

我們考慮一下,工具類現(xiàn)在有了,那么我們怎么去實(shí)現(xiàn)一個(gè)注解優(yōu)雅的解決數(shù)據(jù)脫敏呢?

請看下文,讓我?guī)Т蠹乙黄饘W(xué)習(xí)。

1、定義一個(gè)注解

定義一個(gè) Desensitization 注解。

@Retention(RetentionPolicy.RUNTIME):運(yùn)行時(shí)生效。

@Target(ElementType.FIELD):可用在字段上。

@JacksonAnnotationsInside:此注解可以點(diǎn)進(jìn)去看一下是一個(gè)元注解,主要是用戶打包其他注解一起使用。

@JsonSerialize:上面說到過,該注解的作用就是可自定義序列化,可以用在注解上,方法上,字段上,類上,運(yùn)行時(shí)生效等等,根據(jù)提供的序列化類里面的重寫方法實(shí)現(xiàn)自定義序列化。

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@JacksonAnnotationsInside
@JsonSerialize(using=DesensitizationSerialize.class)
public@interfaceDesensitization{
/**
*脫敏數(shù)據(jù)類型,只要在CUSTOMER的時(shí)候,startInclude和endExclude生效
*/
DesensitizationTypeEnumtype()defaultDesensitizationTypeEnum.CUSTOMER;

/**
*開始位置(包含)
*/
intstartInclude()default0;

/**
*結(jié)束位置(不包含)
*/
intendExclude()default0;
}

可以看到此注解有三個(gè)值,一個(gè)是枚舉類定義了我們的脫敏數(shù)據(jù)類型。一個(gè)開始位置,一個(gè)結(jié)束位置。

枚舉類待會(huì)給大家講解,如果選擇了自定義類型,下面的開始位置,結(jié)束位置才生效。

開始結(jié)束位置是我們 Hutool 工具提供的自定義脫敏實(shí)現(xiàn)需要的參數(shù)??梢钥创朔椒?,需要提出一點(diǎn)的是此方法硬編碼了掩碼值。如果我們的場景需要其他掩碼值的話實(shí)現(xiàn)也很簡單,把 Hutool 的源碼拷出來,代替他的硬編碼,就可以實(shí)現(xiàn)。

7fe917be-0a53-11ee-962d-dac502259ad0.jpg

2、創(chuàng)建一個(gè)枚舉類

此枚舉類是我們數(shù)據(jù)脫敏的類型,包括了大部分場景。以及可以滿足我們?nèi)粘i_發(fā)咯。

publicenumDesensitizationTypeEnum{
//自定義
CUSTOMER,
//用戶id
USER_ID,
//中文名
CHINESE_NAME,
//身份證號(hào)
ID_CARD,
//座機(jī)號(hào)
FIXED_PHONE,
//手機(jī)號(hào)
MOBILE_PHONE,
//地址
ADDRESS,
//電子郵件
EMAIL,
//密碼
PASSWORD,
//中國大陸車牌,包含普通車輛、新能源車輛
CAR_LICENSE,
//銀行卡
BANK_CARD
}

3、創(chuàng)建我們的自定義序列化類

此類是我們數(shù)據(jù)脫敏的關(guān)鍵。主要是繼承了我們的 JsonSerializer,實(shí)現(xiàn)了我的ContextualSerializer。重寫了它倆的方法。

@NoArgsConstructor:Lombok 無參構(gòu)造生成。

@AllArgsConstructor:Lombok 有參生成。

ContextualSerializer:這個(gè)類是序列化上下文類,主要是解決我們這個(gè)地方獲取字段的一些信息,可以看一下源碼,他的實(shí)現(xiàn)類有很多,Jackson 提供的 @JsonFormat 注解也是實(shí)現(xiàn)此類,獲取字段的一些信息進(jìn)行序列化的。有興趣的朋友可以看一下,多看源碼,才能學(xué)到 Jackson 的實(shí)現(xiàn)方法,才能有今天我們的實(shí)現(xiàn)。

兩個(gè)重寫的方法解讀:

serialize:重寫,實(shí)現(xiàn)我們的序列化自定義。

createContextual:序列化上下文方法重寫,獲取我們的字段一些信息進(jìn)行判斷,然后返回實(shí)例。具體代碼可以看下面代碼,都有注釋噢。

@NoArgsConstructor
@AllArgsConstructor
publicclassDesensitizationSerializeextendsJsonSerializerimplementsContextualSerializer{
privateDesensitizationTypeEnumtype;

privateIntegerstartInclude;

privateIntegerendExclude;
@Override
publicvoidserialize(Stringstr,JsonGeneratorjsonGenerator,SerializerProviderserializerProvider)throwsIOException{
switch(type){
//自定義類型脫敏
caseCUSTOMER:
jsonGenerator.writeString(CharSequenceUtil.hide(str,startInclude,endExclude));
break;
//userId脫敏
caseUSER_ID:
jsonGenerator.writeString(String.valueOf(DesensitizedUtil.userId()));
break;
//中文姓名脫敏
caseCHINESE_NAME:
jsonGenerator.writeString(DesensitizedUtil.chineseName(String.valueOf(str)));
break;
//身份證脫敏
caseID_CARD:
jsonGenerator.writeString(DesensitizedUtil.idCardNum(String.valueOf(str),1,2));
break;
//固定電話脫敏
caseFIXED_PHONE:
jsonGenerator.writeString(DesensitizedUtil.fixedPhone(String.valueOf(str)));
break;
//手機(jī)號(hào)脫敏
caseMOBILE_PHONE:
jsonGenerator.writeString(DesensitizedUtil.mobilePhone(String.valueOf(str)));
break;
//地址脫敏
caseADDRESS:
jsonGenerator.writeString(DesensitizedUtil.address(String.valueOf(str),8));
break;
//郵箱脫敏
caseEMAIL:
jsonGenerator.writeString(DesensitizedUtil.email(String.valueOf(str)));
break;
//密碼脫敏
casePASSWORD:
jsonGenerator.writeString(DesensitizedUtil.password(String.valueOf(str)));
break;
//中國車牌脫敏
caseCAR_LICENSE:
jsonGenerator.writeString(DesensitizedUtil.carLicense(String.valueOf(str)));
break;
//銀行卡脫敏
caseBANK_CARD:
jsonGenerator.writeString(DesensitizedUtil.bankCard(String.valueOf(str)));
break;
default:
}

}

@Override
publicJsonSerializercreateContextual(SerializerProviderserializerProvider,BeanPropertybeanProperty)throwsJsonMappingException{
if(beanProperty!=null){
//判斷數(shù)據(jù)類型是否為String類型
if(Objects.equals(beanProperty.getType().getRawClass(),String.class)){
//獲取定義的注解
Desensitizationdesensitization=beanProperty.getAnnotation(Desensitization.class);
//為null
if(desensitization==null){
desensitization=beanProperty.getContextAnnotation(Desensitization.class);
}
//不為null
if(desensitization!=null){
//創(chuàng)建定義的序列化類的實(shí)例并且返回,入?yún)樽⒔舛x的type,開始位置,結(jié)束位置。
returnnewDesensitizationSerialize(desensitization.type(),desensitization.startInclude(),
desensitization.endExclude());
}
}

returnserializerProvider.findValueSerializer(beanProperty.getType(),beanProperty);
}
returnserializerProvider.findNullValueSerializer(null);
}
}

4、測試

創(chuàng)建一個(gè)測試注解的 DTO,此測試如下。

@Data
publicclassTestAnnotationDTOimplementsSerializable{
/**
*自定義
*/
@Desensitization(type=DesensitizationTypeEnum.CUSTOMER,startInclude=5,endExclude=10)
privateStringcustom;
/**
*手機(jī)號(hào)
*/
@Desensitization(type=DesensitizationTypeEnum.MOBILE_PHONE)
privateStringphone;
/**
*郵箱
*/
@Desensitization(type=DesensitizationTypeEnum.EMAIL)
privateStringemail;
/**
*身份證
*/
@Desensitization(type=DesensitizationTypeEnum.ID_CARD)
privateStringidCard;
}

新增測試接口:

@GetMapping("/test-annotation")
publicTestAnnotationDTOtestAnnotation(){
TestAnnotationDTOtestAnnotationDTO=newTestAnnotationDTO();
testAnnotationDTO.setPhone("17677772345");
testAnnotationDTO.setCustom("111111111111111111");
testAnnotationDTO.setEmail("1433926101@qq.com");
testAnnotationDTO.setIdCard("4444199810015555");
returntestAnnotationDTO;
}

測試一下看看效果。如下圖所示,完美!

8002862c-0a53-11ee-962d-dac502259ad0.jpg

項(xiàng)目 pom 文件




4.0.0

org.springframework.boot
spring-boot-starter-parent
2.7.10

 

com.jiaqing
tool-desensitization
0.0.1-SNAPSHOT
tool-desensitization
數(shù)據(jù)脫敏

1.8
5.8.5



org.springframework.boot
spring-boot-starter


org.springframework.boot
spring-boot-starter-web


cn.hutool
hutool-core
${hutool.version}


org.projectlombok
lombok
true


org.springframework.boot
spring-boot-starter-test
test

 

org.springframework.boot
spring-boot-starter-json





org.springframework.boot
spring-boot-maven-plugin



org.projectlombok
lombok







后記

今天給大家?guī)淼氖侨绾螌?shí)現(xiàn)一個(gè)注解進(jìn)行數(shù)據(jù)脫敏。
責(zé)任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7250

    瀏覽量

    91506
  • 小程序
    +關(guān)注

    關(guān)注

    1

    文章

    243

    瀏覽量

    12847

原文標(biāo)題:太強(qiáng)了!一個(gè)注解解決數(shù)據(jù)脫敏問題

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    實(shí)現(xiàn) Labview 和SQL server進(jìn)行數(shù)據(jù)的讀取和寫入

    我想實(shí)現(xiàn)以下功能:Labview讀取SQL server中的個(gè)表格,鼠標(biāo)點(diǎn)擊選中某行,此行處于被選中狀態(tài)(顏色變深),點(diǎn)擊保存按鈕,將實(shí)時(shí)數(shù)組中的
    發(fā)表于 09-07 09:25

    請問AD7606能否實(shí)現(xiàn)使用DMA進(jìn)行數(shù)據(jù)讀取?

    因?yàn)锳D7606它沒有內(nèi)部寄存器,所以我想知道它能否實(shí)現(xiàn)使用DMA進(jìn)行數(shù)據(jù)讀????
    發(fā)表于 01-28 13:47

    DMA進(jìn)行數(shù)據(jù)傳輸和CPU進(jìn)行數(shù)據(jù)傳輸?shù)囊蓡?/a>

    原先的總線矩陣+仲裁器結(jié)構(gòu)中的數(shù)據(jù)總線進(jìn)行數(shù)據(jù)傳輸?shù)模?接上一個(gè)問題,如果是的話,那么當(dāng)進(jìn)行DMA數(shù)據(jù)傳輸時(shí),必定是需要占用
    發(fā)表于 05-25 17:18

    AD7606能否實(shí)現(xiàn)使用DMA進(jìn)行數(shù)據(jù)讀取?

    因?yàn)锳D7606它沒有內(nèi)部寄存器,所以我想知道它能否實(shí)現(xiàn)使用DMA進(jìn)行數(shù)據(jù)讀????
    發(fā)表于 12-08 08:22

    如何更好地進(jìn)行數(shù)據(jù)采集

    如何更好地進(jìn)行數(shù)據(jù)采集 工程師經(jīng)常需要進(jìn)行數(shù)據(jù)采集來驗(yàn)證產(chǎn)品的性能和指標(biāo),或者對些特定的應(yīng)用進(jìn)行監(jiān)測和控制,以便確定其物理參數(shù),例如溫度、應(yīng)力、壓
    發(fā)表于 01-04 10:32 ?1699次閱讀
    如何更好地<b class='flag-5'>進(jìn)行數(shù)據(jù)</b>采集

    使用Spring自定義注解實(shí)現(xiàn)

    執(zhí)行器。其本質(zhì)就是通過外部參數(shù)進(jìn)行次路由和Spring mvc做的事情類似。簡單看了Spring mvc的實(shí)現(xiàn)原理之后,決定使用自定義注解的方式來
    發(fā)表于 09-28 11:55 ?0次下載

    SQL/JAVA/mybatisplus數(shù)據(jù)脫敏實(shí)現(xiàn)原理

    MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏實(shí)現(xiàn)
    的頭像 發(fā)表于 06-14 17:09 ?4280次閱讀

    成功進(jìn)行數(shù)據(jù)整合的案例

    預(yù)置數(shù)十個(gè)開箱即用連接器,基于SDK和熱插拔的連接器擴(kuò)展技術(shù),快速啟動(dòng)數(shù)據(jù)集成,然后利用低代碼、自動(dòng)化數(shù)據(jù)處理管道方式進(jìn)行數(shù)據(jù)建模。
    的頭像 發(fā)表于 08-19 14:14 ?1123次閱讀

    數(shù)據(jù)脫敏具體指的是什么?又是如何進(jìn)行數(shù)據(jù)脫敏

    般來說,數(shù)據(jù)脫敏技術(shù)指的是在對敏感數(shù)據(jù)進(jìn)行處理的過程中,通過數(shù)據(jù)變形(將
    發(fā)表于 11-09 09:14 ?1.4w次閱讀

    數(shù)據(jù)脫敏技術(shù)定義及實(shí)施過程解析

    數(shù)據(jù)脫敏數(shù)據(jù)安全領(lǐng)域落地場景較為成熟的技術(shù)手段,在數(shù)據(jù)深層次、大范圍的共享開放的今天,數(shù)據(jù)脫敏
    的頭像 發(fā)表于 11-16 10:26 ?4165次閱讀

    如何實(shí)現(xiàn)SpringBoot項(xiàng)目中的隱私數(shù)據(jù)脫敏

    數(shù)據(jù)脫敏:把系統(tǒng)里的些敏感數(shù)據(jù)進(jìn)行加密處理后再返回,達(dá)到保護(hù)隱私作用
    的頭像 發(fā)表于 01-08 10:25 ?2305次閱讀

    什么是數(shù)據(jù)脫敏?常用的脫敏規(guī)則有哪些呢?

    數(shù)據(jù)脫敏,指對某些敏感信息通過脫敏規(guī)則進(jìn)行數(shù)據(jù)的變形,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù)。
    的頭像 發(fā)表于 08-15 10:04 ?2.7w次閱讀
    什么是<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>脫敏</b>?常用的<b class='flag-5'>脫敏</b>規(guī)則有哪些呢?

    SpringBoot采用JsonSerializer和Aop實(shí)現(xiàn)可控制的數(shù)據(jù)脫敏

    的確實(shí)現(xiàn)數(shù)據(jù)脫敏,但是有個(gè)問題現(xiàn)在的脫敏針對的是 只要對該實(shí)體類進(jìn)行了使用返回的接口,中的
    的頭像 發(fā)表于 11-06 16:15 ?2225次閱讀
    SpringBoot采用JsonSerializer和Aop<b class='flag-5'>實(shí)現(xiàn)</b>可控制的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>脫敏</b>

    盤點(diǎn)下PostgreSQL的幾種常用脫敏方式

    PostgreSQL Anonymizer 實(shí)現(xiàn)動(dòng)態(tài)脫敏的方式是通過將定義某個(gè)角色為 "MASKED" 以及脫敏規(guī)則。被授予 "MASKED" 角色的用戶將無法訪問原始數(shù)據(jù),而其他角色
    的頭像 發(fā)表于 12-05 09:59 ?892次閱讀
    盤點(diǎn)<b class='flag-5'>一</b>下PostgreSQL的幾種常用<b class='flag-5'>脫敏</b>方式

    數(shù)據(jù)脫敏的3種常見方案,好用到爆!

    數(shù)據(jù)脫敏插件,目前支持地址脫敏、銀行卡號(hào)脫敏、中文姓名脫敏、固話脫敏、身份證號(hào)
    的頭像 發(fā)表于 02-25 16:14 ?2389次閱讀
    <b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>脫敏</b>的3種常見方案,好用到爆!