最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)接口簡單鑒的評論 (共 條)

分享到微博請遵守國家法律
台山市| 汶上县| 金门县| 资源县| 阜宁县| 罗江县| 枣强县| 武宣县| 安吉县| 湟中县| 河间市| 双峰县| 崇阳县| 富宁县| 双峰县| 哈密市| 诸暨市| 荥阳市| 曲沃县| 临猗县| 平乐县| 甘孜| 娄底市| 焦作市| 四子王旗| 仁布县| 漳浦县| 招远市| 黔西县| 杨浦区| 咸丰县| 吴旗县| 天柱县| 金门县| 罗城| 安顺市| 翼城县| 清原| 丰城市| 梨树县| 临沧市|