Postman 如何調試加密接口?

大家好,我是安果!

衆所周知,Postman 是一款非常流行且易用的 API 調試工具,在接口調試或測試時經常被使用

針對普通 API 接口,我們可以直接在 Postman 中輸入 URL、Query String、Header、Data 來模擬發送一個 HTTP 請求

CryptoJS 及 Pre-request Script

CryptoJS 是一個使用 JavaScript 實現的加密算法庫

它支持的算法包含:

在 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

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/ZARkvAHdzjKAC9QfKqhxlg