spring mvc 加簽驗籤方案

2021-09-02 15:54:54 字數 2164 閱讀 2792

一、請求格式要求:

1.get 請求

url示例:http://******xx/api/test.do?a=1&b=2&c=3&d=4

content-type:

簽名key值與a=1&b=2&c=3&d=4 進行一定處理後加密得到

2.post請求

url示例:http://******xx/api/test.do

content-type:

requestbody:

簽名key值與與 進行一定處理後加密得到

二、簽名引數:

通過第一步中得到簽名值後,以引數名 「signature」新增到requesthead中。

四、驗籤方案:

(1) 增加乙個filter,對post請求從inputstream中獲取json引數,放到threadlocal中,並替換掉原來的httpservlertrequest,因為inputstream只能讀一次,如果不替換,會導致spring將引數轉換為json時沒有資料可讀。(對get請求可以不作處理)

(2) 增加乙個spring mvc ***,從requesthead中取出簽名,與threadlocal中的引數進行驗證。(get請求直接從url中取引數)

filter**如下:

//通過方法上的註解來標識哪些請求需要驗籤

signature s = hm.getmethodannotation(signature.class);

if(null == s)

string signature = request.getheader("signature");

if(stringutils.isempty(signature))

if("get".equals(request.getmethod()))else

}else if("post".equals(request.getmethod()))

if(checksignature(signature,param,response))else

}else

}

加簽驗籤的理解

對加簽驗籤的理解 加簽驗籤模組早已做完了,從剛開始的一臉懵逼,到上線,前前後後兩周多吧,現在整理一下思路,記錄一下。加簽驗籤,傳送訊息方,對訊息加簽名 接受訊息方,驗證簽名是否正確。做加簽驗籤的目的主要目的就是,驗證訊息的完整性 簡單來說,傳送訊息方 1 根據訊息內容形成摘要 2 根據摘要形成簽名字...

RSA 加密 解密 加簽 驗籤

1.公鑰與私鑰碼生成 2.獲取公鑰 獲取公鑰 return private publickey getpublickey catch exception e 獲取私鑰 獲取私鑰 return private privatekey getprivatekey catch exception e bas...

加簽 驗籤 加密 解密 公鑰 私鑰

看了網上的很多資料,發現有些點沒有說到,也比較複雜,這裡根據個人的理解,簡單描述,方便記憶。先理解 公 私 鑰 yue 的意思 私鑰,即私人的鑰匙,是唯一的,所以可以用來證明 是特定的人 公鑰,即公用的鑰匙,我可以將它給很多人 公眾 所以既然那麼多人都知道,所以公鑰並不能證明 一定是特定的人 在理解...