aes 加密_Jmeter处理AES加密接口
在工作中,有時(shí)候我們會(huì)遇到登錄密碼加密的接口,有用MD5加密,也有用AES加密。MD5加密一般用jmeter自帶的函數(shù)助手就能完成,下面講的是AES加密。廢話不多說(shuō),直接教程。
要處理AES加密接口,首先要了解AES加密的機(jī)制。一般來(lái)說(shuō),AES加密有三個(gè)部分組成:
第一個(gè)就是加密的模式(ECB,CBC,CFB,CTP等)。
第二個(gè)就是補(bǔ)碼方式(Pkcs5padding,Zeropadding等)。
第三個(gè)就是密鑰,也就是key。
這三個(gè)部分都是開(kāi)發(fā)自定義寫好,我們到時(shí)候直接詢問(wèn)開(kāi)發(fā)即可。我下面的登錄登錄接口采用的是AES/ECB/Zeropadding(算法/加密模式/補(bǔ)碼方式),key是16個(gè)9。
那么如何用jmeter完成這個(gè)加密接口的請(qǐng)求呢?首先因?yàn)樗惴ㄊ情_(kāi)發(fā)編寫的,所以我們測(cè)試人員可以先讓開(kāi)發(fā)提供加密寫法的jar包(其實(shí)就是java代碼一些類和方法),然后告訴我們使用加密的方法名是什么,最后在jmeter中導(dǎo)入jar包完成接口請(qǐng)求。
首先在打開(kāi)jmeter,在測(cè)試計(jì)劃內(nèi)導(dǎo)入加密的jar包,如下:
導(dǎo)入成功后,我們添加線程組,登錄的請(qǐng)求,然后在登錄的請(qǐng)求下添加一個(gè)前置處理器-BeanShell PreProcessor,接下來(lái)只要寫幾行簡(jiǎn)單的代碼就可以實(shí)現(xiàn)加密了,如下:
在寫之前了,我們先了解一下開(kāi)發(fā)的jar包的方法進(jìn)行了解,下圖就是導(dǎo)入了AesUtil類(開(kāi)發(fā)已經(jīng)封裝好了),然后使用encrypBase64方法名對(duì)明文進(jìn)行加密,并傳輸了兩個(gè)參數(shù),一個(gè)是需要的加密明文,一個(gè)是加密的key(16個(gè)9),如下:
了解上圖之后了,我們?cè)贐eanShell PreProcessor開(kāi)始編寫代碼,首先導(dǎo)入加密的類,然后使用類方法開(kāi)始加密,最后傳給系統(tǒng)變量,如下:
最后,我們只需要在登錄請(qǐng)求的密碼參數(shù)值,引用變量${pword}傳輸即可,如下:最后查看結(jié)果樹(shù),加密成功,響應(yīng)也正確了,如下:最后做一下步驟總結(jié):
找到開(kāi)發(fā)要加密的jar包(不要怕直接要,他們會(huì)給的),然后在測(cè)試計(jì)劃內(nèi)導(dǎo)入jar包。
在登錄的請(qǐng)求下添加前置處理器-BeanShell PreProcessor,編寫代碼:導(dǎo)入加密jar包的類,然后使用加密類方法對(duì)明文進(jìn)行加密,最后使用vars.put()方法傳遞給jmeter系統(tǒng)變量中。
最好在登錄請(qǐng)求內(nèi)的密碼參數(shù)中,值用${變量名}引用進(jìn)行發(fā)送請(qǐng)求即可。
總結(jié)
以上是生活随笔為你收集整理的aes 加密_Jmeter处理AES加密接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux结束进程_生人勿近之Linux
- 下一篇: 路由器的基本配置实验报告_上了全屋智能,