加密接口如何測試?

隨着互聯網技術的發展,服務安全性和數據安全性變的愈來愈重要,提供接口服務的系統每每會應用各類加密技術,保證接口的安全調用,如何應用工具來實現加密接口測試成爲一項必要技能。在講解如何用Jmeter實現接口安全性測試以前,先來了解一下常見的加密算法,測試同窗可根據不一樣的加密算法類型和程序猿&程序猿溝通,獲取所需的信息,實現加密接口的處理。算法

 

 

 

摘要算法shell

對明文編碼生成信息摘要,以防止被篡改。好比MD5使用的是Hash算法,不管多長的輸入,MD5都會輸出長度爲128bits的一個串。安全

摘要算法不要祕鑰,客戶端和服務端採用相同的摘要算法便可針對同一段明文獲取一致的密文服務器

 

對稱加密微信

對稱加密算法是共享密鑰加密算法,在加密解密過程當中,使用的密鑰只有一個。發送和接收雙方事先都知道加密的密鑰,均使用這個密鑰對數據進行加密和解密。工具

數據加密:在對稱加密算法中,數據發送方將明文 (原始數據) 和 加密密鑰一塊兒通過加密處理,生成複雜的密文進行發送。測試

數據解密:數據接收方收到密文後,使用加密的密鑰及相同算法的逆算法對加密的密文進行解密,將使其恢復成可讀明文。編碼

 

非對稱加密加密

非對稱加密算法,有兩個密鑰,一個稱爲公開密鑰 (publickey),另外一個稱爲 私有密鑰 (private key),加密和解密使用的是兩個不一樣的密鑰,因此這種算法稱爲非對稱加密算法。3d

若是使用公鑰對數據進行加密,只有用對應的私鑰才能進行解密。

若是使用 私鑰對數據進行加密,只有用對應的公鑰才能進行解密。

 

常見加密算法的處理方式

根據上述常見的加密算法,測試人員在測試不一樣的加密接口可採用下述的方法處理加密接口

摘要算法(MD5.SHA1 ):造接口數據前調用MD5,SHA1進行編碼,服務端對比編碼後的字符串是否一致。

對稱加密算法(AES,DES ):造接口數據前從開發獲取對稱公鑰,基於對稱公鑰能夠加密請求數據,解密響應報文。

非對稱加密算法(RSA):造接口數據前從開發獲取公鑰私鑰去加密解密接口數據

 

下面以Jmete爲例介紹如何實現加密接口的處理,目前有一接口在服務器實現邏輯處理之前會對接口數據進行SHA加密,服務器獲取到加密接口數據之後先解密和驗證數據是否合法有效,再進行邏輯處理。針對這種接口測試的時候,在發起請求之前,咱們須要對接口進入以下特殊處理:

和開發溝通接口加密的算法以及須要的信息,若是是SHA加密,和開發溝通獲取加密的祕鑰,以及加密和編碼的關鍵字符串

在發起接口請求之前,對接口明文數據進行預處理,在Jmeter的接口實現中,能夠經過添加Beanshell腳本,在Beanshell腳本中基於上一個步驟獲取到的信息,採用和服務端相同的加密方法和加密流程對接口明文進行加密和編碼

基於加密後的密文發起加密請求

 

 

 
做  者:Testfan  Kitty

出  處:微信公衆號:自動化軟件測試平臺

版權說明:歡迎轉載,但必須註明出處,並在文章頁面明顯位置給出文章連接

相關文章
相關標籤/搜索