利用apifox來測試API


背景

由其他的team做的項目,配置到一個新的環境下。由於項目需要與別的公司的項目接連,所以需要創建公開的API接口,利用apifox來進行測試(postman,jamater都可以)。此次利用apifox來創建測試API接口的測試

 

1. 在官網下載apifox工具

  下載地址和使用文檔的URL :   https://www.apifox.cn/help/

  下載之后需要注冊登入自己的賬號

2.創建簡單API的測試接口可以感覺使用文檔來操作 

 

3.前置操作和后置操作

   在測試API時首先需要取得一個token,在取得token的時候還需要【SHA256】加密處理,所以需要創建一個前置操作

pm.environment.set("timestamp","");
pm.environment.set("checkValue","");
var timestamp = new Date().getTime();
pm.environment.set("timestamp",timestamp.toString());
pm.environment.set("checkValue",CryptoJS.SHA256("XXXXXX" +timestamp ).toString());

  

4.提取全局變量

 

5.前置操作的結果值

{
    "timestamp":"{{timestamp}}",
    "checkValue":"{{checkValue}}"
}

  

6 在另一個API中利用全局變量

7.當API接口有圖片的場合創建的測試的API接口

file:上傳圖片

token:api認證的憑證

per:需要傳遞的額外的項目的值可以是json,string,等等其他的項目

 追記

JS中利用CryptoJS進行MD5/SHA256/BASE64/AES加解密的方法與示例

MD5加密
CryptoJS.MD5(‘待加密字符串’).toString()

SHA256加密
CryptoJS.SHA256(‘待加密字符串’).toString()

base64加密
CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(‘待加密字符串’))

base64解密
CryptoJS.enc.Base64.parse(“待解密字符串”).toString(CryptoJS.enc.Utf8)

AES簡單加密
CryptoJS.AES.encrypt(‘待加密字符串’, ‘秘鑰’).toString()

AES簡單解密
CryptoJS.AES.decrypt(‘待解密字符串’, ‘秘鑰’).toString(CryptoJS.enc.Utf8)

 自定義AES加解密函數
以上示例是2個簡單aes加解密方案,大部分情況下,我們需要自定義aes加解密更多的參數,比如加密模式、填充等。

const key = CryptoJS.enc.Utf8.parse("秘鑰");  //十六位十六進制數作為密鑰
const iv = CryptoJS.enc.Utf8.parse('偏移量');   //十六位十六進制數作為密鑰偏移量

//解密方法
function Decrypt(word) {
    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
    let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
    let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
    let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
    return decryptedStr.toString();
}

//加密方法
function Encrypt(word) {
    let srcs = CryptoJS.enc.Utf8.parse(word);
    let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
    return encrypted.ciphertext.toString().toUpperCase();
}

//以上方法中 mode就是加密模式,padding是填充。

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM