
對明文編碼生成資訊摘要,以防止被篡改,比如MD5使用的是Hash演算法,無論多長的輸入,MD5都會輸出長度為128bits的一個串,
摘要演算法不要秘鑰,客戶端和服務端采用相同的摘要演算法即可針對同一段明文獲取一致的密文,
對稱加密
對稱加密演算法是共享密鑰加密演算法,在加密解密程序中,使用的密鑰只有一個,發送和接收雙方事先都知道加密的密鑰,均使用這個密鑰對資料進行加密和解密,
資料加密:在對稱加密演算法中,資料發送方將明文 (原始資料) 和 加密密鑰一起經過加密處理,生成復雜的密文進行發送,
資料解密:資料接收方收到密文后,使用加密的密鑰及相同演算法的逆演算法對加密的密文進行解密,將使其恢復成可讀明文,
非對稱加密
非對稱加密演算法,有兩個密鑰,一個稱為公開密鑰 (publickey),另一個稱為 私有密鑰 (private key),加密和解密使用的是兩個不同的密鑰,所以這種演算法稱為非對稱加密演算法,
如果使用公鑰對資料進行加密,只有用對應的私鑰才能進行解密,
如果使用私鑰對資料進行加密,只有用對應的公鑰才能進行解密,
常見加密演算法的處理方式
根據上述常見的加密演算法,測驗人員在測驗不同的加密介面可采用下述的方法處理加密介面
摘要演算法(MD5.SHA1 ):造介面資料前呼叫MD5,SHA1進行編碼,服務端對比編碼后的字串是否一致,
對稱加密演算法(AES,DES ):造介面資料前從開發獲取對稱公鑰,基于對稱公鑰可以加密請求資料,解密回應報文,
非對稱加密演算法(RSA):造介面資料前從開發獲取公鑰私鑰去加密解密介面資料
用戶認證
一般的介面測驗工具都會提供一個User Auth/Authorization的選項,以Postman為栗子,你可以看到以下的選項:
基本認證(Basic Auth)
摘要認證(Digest Auth)
OAuth 1.0a
OAuth 2.0(最常見,現在的網站介面多數提供此用戶認證方式)
在對應的工具上,你可以選取對應的用戶認證選項

介面中有資料要進行加密,如何處理?
(1)寫個函式或者方法,把要加密的引數使用這個函式過濾一遍,等于就是說把資料丟進去,加密了之后,再通過這個加密好的資料傳輸過去就可以,
(2)至于用什么加密演算法,這個要根據產品和自己的業務場景和需求不管是AES或者公鑰私鑰也好看自己的選擇,
(3)也可能是編碼的問題,就直接用base64碼把需要傳輸加密的東西通過base64回傳base64碼,然后再放進去,然后再進行傳輸,
(4)這是編碼不是加密,真的要加密的話,首先把要用的引數加好密之后再被傳輸出去,傳輸的程序中把傳輸的資料進行一次加密和封裝之后再發送過去,
(5)用jmeter做介面測驗用post-processor加beanshell進行加密解密,再從日志中查找引數,然后具體的加密演算法要看需求,
(6)每個測驗工具提供的加密演算法是不一樣的,工具不一樣加密演算法也是不一樣的,

由于資料內容過于龐大,就不在文章中一一展示了,
最后: 大家可以去我博客首頁看下側邊欄! 進去有許多資料共享!資料都是面試時面試官必問的知識點,也包括了很多測驗行業常見知識,其中包括了有基礎知識、Linux必備、Shell、互聯網程式原理、Mysql資料庫、抓包工具專題、介面測驗工具、測驗進階-Python編程、Web自動化測驗、APP自動化測驗、介面自動化測驗、測驗高級持續集成、測驗架構開發測驗框架、性能測驗、安全測驗等,
如果文章對你有幫助,麻煩伸出發財小手點個贊,感謝您的支持,你的點贊是我持續更新的動力,今天就到這里,學廢了,記得在評論區留言:打卡,
好文推薦
2021軟體測驗工程師面試題匯總(內含答案)-看完BATJ面試官對你豎起大拇指!
什么樣的人適合從事軟體測驗作業?
軟體測驗和軟體開發哪個發展更好
那個準點下班的人,比我先升職了…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/295106.html
標籤:其他
