大家好,我是安果!
衆所周知,Postman 是一款非常流行且易用的 API 調試工具,在接口調試或測試時經常被使用針對普通 API 接口,我們可以直接在 Postman 中輸入 URL、Query String、Header、Data 來模擬發送一個 HTTP 請求
但是,針對「 加密接口 」的調試及測試,我們怎麼來做呢?
CryptoJS 及 Pre-request Script
CryptoJS 是一個使用 JavaScript 實現的加密算法庫它支持的算法包含:
Base64
MD5
SHA-1 和 SHA-256
AES
Rabbit
MARC4
HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256
PBKDF2
在 Postman 中有一個 Tab 「 Pre-request Script 」,它能在請求之前做一些預處理
比如,可以使用 CryptoJS 先對變量進行加密,然後設置到變量中,最後在真實請求時使用這個變量
實戰一下
假設現在有一個登錄接口請求方式爲 POST,請求體中包含用戶名 username、密碼 password,並且 password 是通過 MD5 加密後設置到請求體內
如此,我們只需要在 Pre-request Script Tab 下,使用 CryptoJS 編寫 JS 腳本,對密碼變量進行預處理
# Pre-request Script
var password = "hu123456";
//md5加密
//使用JS模塊CryptoJS中的md5去加密數據
var password_encry = CryptoJS.MD5("hu123456").toString();
console.log("加密後的數據爲:"+password_encry);
//設置到環境變量中
//方式一:全局變量
// pm.globals.set("password_encry", password_encry);
//方式二:局部變量
pm.environment.set("password_encry", password_encry);
預處理設置變量有 2 種方式:全局變量、局部變量
需要注意的是,如果設置到局部環境,我們需要先新建一個環境,並創建一個變量才能在 JS 腳本中引用
最後,在請求體中替換成上面設置的變量即可
最後
Postman 可以藉助 CryptoJS 完成大部分數據的加密,但是它並不支持 RSA 算法
這裏可以使用另外一個算法庫「 forgeJS 」來進行 RSA 的加解密
項目地址:https://github.com/digitalbazaar/forge
如果你覺得文章還不錯,請大家 點贊、分享、留言 下,因爲這將是我持續輸出更多優質文章的最強動力!