jmeter接口測試-使用aes加密算法


好久沒寫文章了,一直在忙公司項目的事情!今天抽空寫篇關於jmeter加密的教程吧!

 

隨着互聯網的發展,越來越多的系統開始提供接口調用!

我們進行接口測試的時候,大多數接口或多或少的都使用了各種加密驗證,保證接口的安全調用!所以如何使用jmeter來應對各種加密接口 是一項必要技能

接下來大蟲會對市面上常用的加密算法 (Md5 sign 簽名、des加密算法、aes加密算法、rsa加密算法 等等)進行一一解析!

 

aes   對稱加密算法,通過解密密文,可以得到被加密的數據!

 

先上代碼吧!

 

 

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; public static String Encrypt(String sSrc, String sKey) throws Exception { if (sKey == null) { return null; } // 判斷Key是否為16位 if (sKey.length() != 16) { return null; } byte[] raw = sKey.getBytes("utf-8"); SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");// "算法/模式/補碼方式"  cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8")); return Base64.encodeBase64String(encrypted);// 此處使用BASE64做轉碼功能,同時能起到2次加密的作用。  } String cSrc = "{\"appId\":\"P201707280\",\"applyNo\":\"20170802101737582178\",\"idNo\":\"jmeter 高級技術群:572445436\",\"userName\":\"jmeter 高級技術群:572445436\",\"phone\":\"jmeter 高級技術群:572445436\",\"zhima\":700,\"applyTime\":\"2017-08-02 10:17:37\",\"amount\":9800}"; //密碼,長度要是8的倍數 String cKey = "d4e9acc6a0ff505b"; // 需要加密的字串  System.out.println(cSrc); // 加密 String enString = Encrypt(cSrc, cKey); vars.put("enString",enString); return enString;

 

 

本代碼是運行在jmeter的 beanshell中的,你也可以封裝成類,編譯成jar包,供jmeter調用,都是可以的

以上代碼再運用aes加密之后,又對結果進行了base64 編碼,這樣就便於查看和傳輸了,aes的直接加密結果是字節集,強行轉換成字符串的話,肯定是一串亂碼~!

 

 

 


免責聲明!

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



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