Postman 如何調試加密接口?

大家好,我是安果!

衆所周知,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

如果你覺得文章還不錯,請大家 點贊、分享、留言 下,因爲這將是我持續輸出更多優質文章的最強動力!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章