



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第SpringbootAOP對指定敏感字段數(shù)據(jù)加密存儲的實現(xiàn)可以看到,手機(jī)號phone和郵箱email兩個字段,我們做了注解@EncryptField標(biāo)識:
ok,我們寫個測試接口,使用@NeedEncrypt注解標(biāo)識這個接口需要進(jìn)行加密攔截:
使用postman調(diào)用一下測試接口:
可以看下數(shù)據(jù)庫,數(shù)據(jù)已經(jīng)加密存儲成功:
接下來是查詢解密環(huán)節(jié):
解密這里其實有些小講究。因為查詢出來的數(shù)據(jù)有可能是單個實體,也可能是List(其實甚至是Map或者Set,又或者是分頁數(shù)據(jù)類)
所以本文將會以最常用的單個實體、List實體為例子,去做解密。
1.解密自定義注解NeedDecrypt.java:
*@AuthorJCccc
*@Description需解密
*@Date2025/7/2311:55
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public@interfaceNeedDecrypt{
}
2.解密邏輯的aop處理器DecryptAspect.java:
importcom.elegant.dotest.aop.annotation.EncryptField;
importlombok.extern.slf4j.Slf4j;
importorg.aspectj.lang.ProceedingJoinPoint;
importorg.aspectj.lang.annotation.Around;
importorg.aspectj.lang.annotation.Aspect;
importorg.aspectj.lang.annotation.Pointcut;
importorg.jasypt.encryption.StringEncryptor;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Component;
importjava.lang.reflect.Field;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.List;
importjava.util.Objects;
*@AuthorJCccc
*@Description
*@Date2025/9/148:55
@Slf4j
@Aspect
@Component
publicclassDecryptAspect{
@Autowired
privateStringEncryptorstringEncryptor;
@Pointcut("@annotation(com.elegant.dotest.aop.annotation.NeedDecrypt)")
publicvoidpointCut(){
@Around("pointCut()")
publicObjectaround(ProceedingJoinPointjoinPoint)throwsThrowable{
//解密
Objectresult=decrypt(joinPoint);
returnresult;
publicObjectdecrypt(ProceedingJoinPointjoinPoint){
Objectresult=null;
try{
Objectobj=joinPceed();
if(obj!=null){
//拋磚引玉,可自行擴(kuò)展其他類型字段的判斷
if(objinstanceofString){
decryptValue(obj);
}else{
result=decryptData(obj);
}catch(Throwablee){
e.printStackTrace();
returnresult;
privateObjectdecryptData(Objectobj)throwsIllegalAccessException{
if(Objects.isNull(obj))
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年水飛薊素項目節(jié)能評估報告(節(jié)能專)
- 2025年中國布邊紗夾壓腳行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025醫(yī)療商業(yè)計劃書
- 中國車載攝像頭用玻璃非球面透鏡行業(yè)市場規(guī)模及投資前景預(yù)測分析
- 裝修設(shè)計合同
- 中國數(shù)控電火花機(jī)床市場競爭格局及發(fā)展戰(zhàn)略研究報告
- 廣告制作合同
- 2024年中國農(nóng)藥殺蟲劑行業(yè)市場調(diào)查報告
- 2022-2027年中國農(nóng)業(yè)生物技術(shù)行業(yè)發(fā)展前景及投資戰(zhàn)略咨詢報告
- 中國液晶行業(yè)投資研究分析及發(fā)展前景預(yù)測報告
- DB4201∕T 645-2021 房地產(chǎn)經(jīng)紀(jì)服務(wù)規(guī)范
- 撥叉綜合課程設(shè)計
- 壓鑄件QC工程圖
- pH 值對檸檬酸緩凝效果影響的研究
- 學(xué)校物業(yè)服務(wù)監(jiān)督及處罰辦法
- 2012《天津市安裝工程預(yù)算基價》電氣工程(預(yù)算基價導(dǎo)出)
- 1104基礎(chǔ)報表填報說明(最新)
- 老舊小區(qū)改造技術(shù)標(biāo)-
- 705型試驗臺技術(shù)條件及說明書
- 天麻、豬苓種植技術(shù)教學(xué)大綱
- 漢字的起源與演變過程.ppt
評論
0/150
提交評論