接口加密了該怎么測?

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

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

摘要算法不要秘鑰,客戶端和服務端采用相同的摘要算法即可針對同一段明文獲取一致的密文。

01、對稱加密

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

數(shù)據(jù)加密:在對稱加密算法中,數(shù)據(jù)發(fā)送方將明文(原始數(shù)據(jù))和加密密鑰一起經過加密處理,生成復雜的密文進行發(fā)送。

數(shù)據(jù)解密:數(shù)據(jù)接收方收到密文后,使用加密的密鑰及相同算法的逆算法對加密的密文進行解密,將使其恢復成可讀明文。

02、非對稱加密

非對稱加密算法,有兩個密鑰,一個稱為公開密鑰(publickey),另一個稱為私有密鑰(private key),加密和解密使用的是兩個不同的密鑰,所以這種算法稱為非對稱加密算法。

如果使用公鑰對數(shù)據(jù)進行加密,只有用對應的私鑰才能進行解密

如果使用私鑰對數(shù)據(jù)進行加密,只有用對應的公鑰才能進行解密。

03、常見加密算法的處理方式

根據(jù)上述常見的加密算法,測試人員在測試不同的加密接口可采用下述的方法處理加密接口

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

對稱加密算法(AES,DES):造接口數(shù)據(jù)前從開發(fā)獲取對稱公鑰,基于對稱公鑰可以加密請求數(shù)據(jù),解密響應報文。

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

用戶認證

一般的接口測試工具都會提供一個User Auth/Authorization的選項,以Postman為栗子,你可以看到以下的選項:

基本認證(Basic Auth)

摘要認證(Digest Auth)

OAuth 1.0a

OAuth 2.0(最常見,現(xiàn)在的網(wǎng)站接口多數(shù)提供此用戶認證方式)在對應的工具上,你可以選取對應的用戶認證選項

2345截圖20211028093243.png

04、如何處理接口中的數(shù)據(jù)加密

寫個函數(shù)或者方法,把要加密的參數(shù)使用這個函數(shù)過濾一遍,等于就是說把數(shù)據(jù)丟進去,加密了之后,再通過這個加密好的數(shù)據(jù)傳輸過去就可以。

至于用什么加密算法,這個要根據(jù)產品和自己的業(yè)務場景和需求不管是AES或者公鑰私鑰也好看自己的選擇。

也可能是編碼的問題,就直接用base64碼把需要傳輸加密的東西通過base64返回base64碼,然后再放進去,然后再進行傳輸。

這是編碼不是加密,真的要加密的話,首先把要用的參數(shù)加好密之后再被傳輸出去,傳輸?shù)倪^程中把傳輸?shù)臄?shù)據(jù)進行一次加密和封裝之后再發(fā)送過去。

用jmeter做接口測試用post-processor加beanshell進行加密解密,再從日志中查找參數(shù),然后具體的加密算法要看需求。

每個測試工具提供的加密算法是不一樣的,工具不一樣加密算法也是不一樣的。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論