日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

springboot接口签名统一效验_Python如何接入开放平台?签名验签、加密解密、授权认证测试实战...

發布時間:2025/3/20 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot接口签名统一效验_Python如何接入开放平台?签名验签、加密解密、授权认证测试实战... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當前大型top企業都有非常成熟的開放平臺業務,比如微信開放平臺、新浪微博開放平臺、支付寶開放平臺等。開放平臺的發展為第三方個人或企業提供了巨大的機遇。開發者想要接入各大開放平臺,必須要遵從開放平臺的安全機制,實現業務邏輯的前提,首先就是要實現簽名驗簽、加密解密以及授權認證機制。

本文介紹基于python的開放平臺簽名、認證測試體系,可以用于第三方應用的沙盒測試,同時可以應用于服務提供方相關系統的全面測試。

一、引言

開放平臺是指大型企業將自身的數據能力、計算能力、用戶體系、產品能力等資源以業務+場景+解決方案+技術的優勢包裝出來,通過openAPI、openSDK、openH5等形式開放給第三方個人或企業使用,實現第三方和服務提供方企業自身的互利共贏。

當前各大廠的開放平臺都已經比較成熟,比如說微信開放平臺、新浪微博開放平臺、支付寶開放平臺等。同時,各大商業銀行也在大力發展自身的開放銀行業務。作為第三方開發者,通常來說接入開放平臺有比較統一的流程,下圖給出了微信開放平臺的開通流程。

圖1 微信開放平臺接入流程

如圖1第三步所示,在申請的應用上線前,必須要進行必要的測試,而進行業務邏輯測試的前提就是進行簽名驗簽、加密解密以及授權認證等安全認證機制的測試。python社區非常成熟,廣泛應用于機器學習、數據分析、網絡爬蟲、自動化腳本等諸多領域。

在web開發中當前也有很多公司諸如Instagram, Quora, Lyft, Dropbox、知乎等后端都采用python開發。本文介紹基于python的簽名驗簽、加密解密以及授權認證測試的實現。

二、簽名驗簽

第三方個人或企業通過開放平臺門戶網站提交成為開發者的申請,開發者資質認證通過后,開發者通常會從服務提供方獲得自身的appid、appsecret以及證書,其中證書中包含第三方開發者的私鑰以及服務提供方的公鑰。

服務提供方保留第三方開發者的公鑰以及自身的私鑰。開發者通過自身的私鑰進行簽名,發送報文到開放平臺服務器,服務器驗簽通過后會用自身的私鑰對返回給開發者的報文進行簽名,開發者接收到返回報文后利用服務方提供的公鑰進行驗簽。通過這個過程開發者和服務方就可以相互確認發送的報文沒有被中間人篡改。

本文中簽名驗簽用RSA算法進行演示,使用到了python的Crypto庫,需使用pip或conda等其他包管理工具進行安裝。

一般情況下開發者需要對報文各個字段進行預處理。

1.將請求字典中的空值,或者沒必要的參數都去掉(如sign、sign_type等);

2.對字典進行排序(按ASCII碼從小到大);

3.把字典中的所有元素,按照"參數=參數值"的模式用"&"字符拼接成字符串。

數據預處理見下圖的函數:

圖2 數據預處理函數

開發者發送報文時,用一個Hash函數對報文中生成摘要,然后用私玥對摘要進行加密,最后加密后的摘要作為報文的數字簽名和報文一起發送給服務方。下圖展示了RSA算法的簽名函數實現:

圖3 數字簽名函數

首先用hash_method函數選擇采用的摘要算法,可以根據實際情況進行函數的重構,這里演示了MD5和SHA256算法的示例。簽名函數首先要讀入開發者私鑰,然后用RSA算法完成簽名。

開發者收到服務方返回的報文后,用與一樣的Hash函數從接收到的原始報文中計算出報文的摘要,接著再用發送方的公鑰對報文附加的數字簽名進行解密,如果這兩段摘要一致,則開發者就可以確認該報文是服務方發送的,且沒有被篡改。

圖4 驗簽函數

三、加密解密

RAS算法除了可用于數字簽名外,同樣可用來對報文進行非對稱加密,非對稱加密安全性要比對稱加密高,但由于算法強度比對稱加密復雜,加解密的速度比對稱加解密慢。對稱加密算法的特點是計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣密鑰,安全性得不到保證。常見的對稱加密算法有DES、AES 等。

在互聯網上傳輸消息即要保證信息的安全性,又要保證不能有高的延遲,所以通常會將對稱加密算法和非對稱加密算法聯合使用。使用非對稱加密算法進行數字簽名以及將對稱加密算法所用密鑰的加密傳輸,然后再使用對稱加密算法對報文進行加解密,即保證了報文傳輸的安全性,又保證了報文傳輸的速度,提升了用戶體驗。

下面介紹python實現AES加解密的方案,其他加密算法也是類似的方法,可以根據服務方的要求選擇采用哪種算法。AES加密方式有五種:ECB, CBC, CTR, CFB, OFB。最常用的是CBC加密方式。CBC加密需要一個十六位的key和一個十六位偏移量。開發者使用服務方提供的appsecret作為key來進行加解密,具體實現如下圖所示:

圖5 AES加解密

加密后的數據要和簽名一同發送到服務方,通常情況下報文是否采用對稱加密是可選的,開發者可以 根據開放平臺的規定以及交易的重要程度選擇是否加密。

四、授權認證

各大開放平臺都有自身的授權認證機制,目前最流行的機制就是OAuth2.0。OAuth2.0 是一個開放授權標準,它允許用戶授權第三方應用訪問該用戶在某服務(比如微博、微信、qq等)上的特定私有資源,而不需要提供賬號密碼給第三方應用,也不需要注冊第三方應用的賬戶。想要進行開放平臺授權認證測試,就必須要根據OAuth2.0標準與服務方進行對接。在一般情況下,服務方提供授權服務,主要提供兩類接口:

1.授權接口:接受第三方應用的授權請求,該接口通常包含以下參數:

response_type:必選。值固定為"code"。

client_id:必選。第三方應用的標識ID,也就是appID。

state:可選。第三方提供的一個字符串,服務器會原樣返回。

redirect_uri:必選。授權成功后的重定向地址。

scope:可選。表示想要訪問的資源的授權范圍。

接口訪問成功后會得到授權碼。

2.獲取訪問令牌(token)接口:使用授權接口提供的授權碼來頒發訪問令牌給第三方應用。通常包含以下參數:

grant_type:必選。固定值"authorization_code"。

code : 必選。授權接口中響應的授權碼。

redirect_uri:必選。必須和授權接口中提供的redirect_uri相同。

client_id:必選。必須和授權接口中提供的appID相同。

第三方應用拿到token后就可以用token去請求用戶授權其訪問的保存在服務方的資源。

上述接口的請求可以自己編碼實現。python的django-allauth庫已經封裝了包括GitHub、Twitter、微博、微信、百度等幾十種第三方授權認證方式。通過簡單的配置就可以應對各大廠開放平臺的授權認證測試。下圖展示了如何在django應用中注冊django-allauth第三方登陸服務。

圖6 使用django-allauth庫完成第三方授權登陸

五、總結

本文介紹了使用python接入各大開放平臺,實現簽名驗簽、加密解密以及授權認證的測試方法,給出了詳細的示例。開發者可以通過將上述的方法封裝成django或者其他框架的web應用,形成易于測試人員操作的界面,在處理簽名驗簽、加密解密、授權認證等測試或開發工作時,可以極大地極大的提升工作效率。

我是誰?

我是一名從事了多年軟件測試的老測試員,今年年初我花了一個月整理了一份最適合2020年學習的軟件測試學習干貨,可以送給每一位對軟件測試感興趣的小伙伴,想要獲取的可以關注我的頭條號并在后臺私信我:【測試】,即可免費獲取。

總結

以上是生活随笔為你收集整理的springboot接口签名统一效验_Python如何接入开放平台?签名验签、加密解密、授权认证测试实战...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人在线观看免费网站 | 亚洲精品一区二区三 | 欧美精品亚洲精品日韩精品 | 天堂成人在线视频 | 久久久国产精品免费 | 2025国产精品 | 性xxxxx大片免费视频 | 久久视频在线免费观看 | 韩国美女黄色片 | 国产99久久久久久免费看 | 久久国语 | 吊视频一区二区三区 | 日日草 | 欧美性久久久久 | 亚洲男人的天堂在线视频 | 好吊色欧美一区二区三区视频 | 黄色一级大片在线免费看国产 | 久久国产精品免费视频 | 99国产精品一区二区三区 | 精品久久五月天 | 日韩一级在线观看 | 亚洲一级黄色片 | 99热激情| 亚洲一区在线免费观看 | 欧美日本一本 | 白石茉莉奈中文字幕在 | 日韩精选在线观看 | 爱情岛论坛亚洲自拍 | 国语对白精彩对话 | 制服.丝袜.亚洲.另类.中文 | 亚洲欧美日韩久久 | 欧美一区二区三区婷婷 | 久久久香蕉网 | 亚洲精品久久久久久久久久久久久 | 韩国黄色片网站 | 欧美图片一区 | 青青草国产一区二区三区 | 久久久久久69 | 999久久久久久 | 黄色成人av | 色哟哟无码精品一区二区三区 | 亚洲女人毛茸茸 | www国产视频 | 永久免费毛片 | 久久影院午夜理论片无码 | 美女扒开尿口给男人看 | 97在线观看免费高清 | 亚洲色图校园春色 | 岳睡了我中文字幕日本 | 欧美激情一区二区视频 | 国内久久精品视频 | 日本一区二区免费在线 | 久久www视频| 日人视频| 裸体喂奶一级裸片 | 强迫凌虐淫辱の牝奴在线观看 | 国产精品丝袜视频无码一区69 | 亚洲精品电影在线观看 | 日本免费在线观看 | 奇米影| 色婷婷免费 | 日本不卡1 | 亚洲图片一区 | 黑人一级女人全片 | 都市激情综合 | 激情综合网激情 | 明星双性精跪趴灌满h | 日韩在线视频一区二区三区 | 日韩在线视频第一页 | 欧美交换配乱吟粗大25p | 欧美私人情侣网站 | 日韩欧美中文字幕精品 | 国产午夜一区二区 | 樱花草涩涩www在线播放 | 少妇性l交大片免费观看 | 男女视频在线免费观看 | 最近最新最好看的2019 | 精品成人免费一区二区在线播放 | 男人和女人日b视频 | 欧美十大老熟艳星 | 黄色一级在线 | 三级亚洲| 午夜剧场福利社 | 伊人av在线播放 | 麻豆国产尤物av尤物在线观看 | 激情中文网 | 日韩精品视频免费看 | 亚洲天堂网址 | 天天躁夜夜躁狠狠是什么心态 | 久久久久99精品成人片 | 亚洲精品久久久久久久久久久久久 | 国产精品久久婷婷六月丁香 | 亚洲综合色站 | 干b视频在线观看 | 三浦惠理子aⅴ一二三区 | 欧美乱大交xxxxx潮喷 | 国产99在线观看 | 写真福利片hd在线播放 | 中文字幕一二三 |