前言
很多HTTP接口在傳參時,需要先對接口的參數進行數據簽名加密
如pinter項目中的簽名接口 http://localhost:8080/pinter/com/userInfo
參數為: {"phoneNum":"123434","optCode":"testfan","timestamp":"1211212","sign":"fdsfdsaafsasfas"} 其中,sign字段是按照特定算法進行加密后的數據
本接口的簽名算法為 sign=Md5(phoneNum+ optCode+ timestamp)
對於這樣的加密接口,除了導入加密的jar包和添加BeanShell寫入代碼以外,今天給大家介紹一種比較簡單的方法
首先我們了解一下參數化函數:
CSV文件讀取:${__CSVRead(D:\data.txt,0,)}
隨機數:${__Random(1,100,)}
隨機字符串:${__RandomString(8,abcdefghigklmnopqrstuvwxyz0123456789,)}
時間戳:${__time(,)} 生成唯一UUID:${__UUID}
注:上述函數都可以將結果保存到一個變量里,函數的最后一個參數為變量名稱
一:添加簽名接口http請求,寫入JSON格式參數,添加HTTP信息頭管理器
二:phoneNum和timestamp的值需要使用函數助手生成隨機值
三:對sign的參數進行拼接
兩種函數助手MD5加密參數化函數:
(1)"sign":"${__MD5(${phone}testfan${timeStamp},)}"
(2)"sign":"${__digest(MD5,${phone}testfan${timeStamp},,,)}"
四:寫入參數化的參數化函數
五:添加監聽器-察看結果樹,點擊運行,從響應結果得知,接口簽名校驗成功