0.背景
??當我們在請求后端介面時,正常情況下,都是明文,較為安全的方式是通過https,但是在一些特定的步驟,比如登錄,需要對請求引數進行加密,
1.如何在請求完成后,執行腳本
??我們需要在Postman的Tests一欄中寫入腳本,

??這個時候你就會問了,如果我這里的結果,另一個請求的時候要用到怎么辦?那你就可以創建一個環境變數,然后賦值給它,創建環境變數在右上角的小眼睛按鈕那里,

??在腳本里賦值的時候,右側有示例的代碼,基本上是下面這樣的程序:
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.environment.set("tempValue", jsonData.value);
});
2.如何在請求前執行腳本
??當我們需要在請求之前,對引數進行加密,我們就可以使用Pre-request Script功能,假設我們需要對密碼進行AES加密然后BASE64編碼,就可以像下面這樣寫:
var password = pm.environment.get("password");
var aesEncrypted = aesEncrypt(password)
pm.environment.set("aesEncryptedPassword", aesEncrypted);
// AES 加密方法
// word是加密內容,keyStr是秘鑰
// ECB:加密演算法,padding:對齊方式
function aesEncrypt(word){
keyStr = pm.environment.get("secretKey");
var key = CryptoJS.enc.Utf8.parse(keyStr);
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}
在請求的時候,我們就是使用環境變數,類似于下面這樣:
{
"userName": "timeToEat",
"password": "{{password}}"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/345706.html
標籤:其他
