



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第SpringbootAOP對指定敏感字段數據加密存儲的實現可以看到,手機號phone和郵箱email兩個字段,我們做了注解@EncryptField標識:
ok,我們寫個測試接口,使用@NeedEncrypt注解標識這個接口需要進行加密攔截:
使用postman調用一下測試接口:
可以看下數據庫,數據已經加密存儲成功:
接下來是查詢解密環(huán)節(jié):
解密這里其實有些小講究。因為查詢出來的數據有可能是單個實體,也可能是List(其實甚至是Map或者Set,又或者是分頁數據類)
所以本文將會以最常用的單個實體、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){
//拋磚引玉,可自行擴展其他類型字段的判斷
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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自考行政管理的公共服務試題及答案
- 執(zhí)業(yè)護士綜合知識考題試題及答案
- 健康評估知識點與試題及答案
- 可靠的執(zhí)業(yè)護士試題及答案資源
- 一網打盡2025年主管護師考試試題及答案
- 護師職業(yè)發(fā)展的路徑選擇題及答案
- 經濟法概論復習試題及答案要點
- 自考行政管理試題與答案的終極指南
- 主管護師提升護理技能的試題及答案
- 新疆哈密地區(qū)第二中高二下學期期末考試語文試題
- FeNO測定及應用演示版課件
- 普安金橋百匯項目經理變更申請書
- 考試焦慮主題班會課件
- 冀教版五年級下冊美術第12課《寓言成語故事多》課件
- 英語演講Artificial intelligence人工智能課件共課件
- 建設工程防滲漏驗收檢查表
- 鐵皮石斛 組織培養(yǎng) 栽培 試驗 實驗
- 中國聯通cBSS系統使用培訓-第一部分
- 貨幣的起源與發(fā)展
- 森林防火PPT課件
- 建筑材料送檢統一規(guī)定
評論
0/150
提交評論