国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【Java項目】基于Spring AOP + Redisson技術(shù)實現(xiàn)接口簡單鑒

2023-07-30 17:22 作者:美麗的程序人生  | 我要投稿

【Java項目接口簽名技術(shù)實現(xiàn)】

概述

在為第三方系統(tǒng)提供接口的時候,肯定要考慮接口數(shù)據(jù)安全問題,比如數(shù)據(jù)是否被篡改,請求是否已經(jīng)過時,請求是否允許重復(fù)提交等問題。

設(shè)計思路

因此接口簽名主要解決如下幾個問題:

1、前端請求必須在規(guī)定時間范圍內(nèi)才生效;

2、請求發(fā)起方必須是已經(jīng)被授權(quán)的應(yīng)用;

3、請求不能夠被重復(fù)發(fā)起;

4、請求發(fā)起時傳入的參數(shù)不能夠被篡改。

接口簽名規(guī)則

在header中加入4個參數(shù):


第三方請求合法性

線下分配appid和appsecret,針對不同的調(diào)用方分配不同的appid和appsecret

單次請求失效性

加入timestamp(時間戳),5分鐘內(nèi)數(shù)據(jù)有效

請求判重

加入流水號(隨機(jī)數(shù))nonce(防止重復(fù)提交),約定為10位。 在有效期內(nèi)的唯一性,為避免重復(fù)請求,放入緩存,5分鐘過期

接口參數(shù)加密

加入sign,所有數(shù)據(jù)的簽名信息,sign字段生成規(guī)則如下:

將RequestBody中的參數(shù)序列化為SortedMap<String, String>,所有key=value進(jìn)行拼接,按照key字典序排序為一個字符串,然后進(jìn)行MD5加密,org.springframework.util.DigestUtils.md5DigestAsHex()

驗簽邏輯

將appid、timestamp、nonce、sign 4個字段再次按照key字典序排序,然后進(jìn)行MD5加密,org.springframework.util.DigestUtils.md5DigestAsHex(),得到字符串,再通過sun.misc.BASE64Encoder.encode(signStr),得到最終驗簽字符串。

【Java項目】基于Spring AOP + Redisson技術(shù)實現(xiàn)接口簡單鑒的評論 (共 條)

分享到微博請遵守國家法律
日土县| 巴东县| 崇明县| 庆安县| 宜兴市| 永修县| 科尔| 定安县| 工布江达县| 云阳县| 沐川县| 赤城县| 盐亭县| 巴中市| 七台河市| 松原市| 永德县| 东丽区| 浮梁县| 长顺县| 子长县| 镇雄县| 新疆| 雷山县| 鸡西市| 杭州市| 汾西县| 明水县| 惠州市| 安丘市| 平武县| 芒康县| 当雄县| 武强县| 永清县| 甘洛县| 湛江市| 小金县| 自贡市| 湖南省| 仁布县|