AOP解密加密介面要點記錄

2021-10-19 13:51:02 字數 1179 閱讀 8817

專案背景:

需要對專案的前後端進行加密傳輸,後台統一處理,此時我們經常會用到spring的aop,方便快捷,以下為書寫過程中的記錄以及總結。

專案環境:springboot

【說明】前台加解密,以及後台加解密過程忽略,各位大佬根據自己專案書寫即可。

主要業務**如下:

@pointcut("@annotation(com.zoro.drei.common.annotation.securityasin)")

public void pointcut()

@around("pointcut()")

public object around(proceedingjoinpoint point) throws throwable

} catch (exception e)

object result = null;

try catch (throwable e)

return result;

}

主要使用乙個切入點,乙個環繞方法,其他的幾個暫時沒用到。

其中最主要的語句為以下兩句,缺一不可;

// 方法形參

object methodargs = point.getargs();

以上這一句是獲取經過加密或者解密後的引數

// 執行方法

result = point.proceed(methodargs);

此句最為重要,意為執行方法,傳入引數和不傳入引數區別很大,傳入引數代表把解密或者加密後的資料返回繼續執行。不傳入引數意為直接執行,與我們的初中並不相符。所以必須把處理過的引數返回controller,controller接收真正意義上的資料,並進行處理。

controller層部分**

//aop介面  

@aspect()

@responsebody

public result test(@requestparam string a1,@requestparam string a2,@requestparam string a3,@requestbody map map)

不加aop介面上面的幾個引數都為密文,加上aop後就是我們需要的效果。以及注意上文紅色部分。

ps:真正的留下了沒有技術的眼淚,懂就是幾秒鐘的問題,不懂就是幾個小時的問題。

RSA 加密解密記錄

rsa 加密長度有限,一般只使用在重要的資料上,過長需要拼接。private static void create oaepvar msg 加密測試資訊 rsacryptoserviceprovider rsa new 使用rsa加密。rsa.importcspblob convert.fromba...

java架構解密 用介面改造AOP

優化是個無止境的工作,在aop的路上,我們走得很遠,但是還有很多的工作,我們沒有做,比如,將aop的業務部分封裝成容器,將aop的服務部分改造成面向介面的,這樣就不受具體的形式上的限制了!這樣aop的優化,就又前進了一步,也是符合咱們的面向介面程式設計的思想,下面就和我一起研究下如何將介面的思想融入...

js 幾種常規加密解密方式記錄

base64加密解密是比較簡單,也是安全性較差的一種加密方式,一般用於加密一些不太重要但是又不想他人直接看到的資料,優勢是使用簡單。參考 1.安裝依賴 npm install js base642.引入 import from js base64 3.使用 base64.encode dankoga...