问题
In one of the http request we have to send encrypted value.
The encryption is done by the CryptoJs javascript libraries and Algorithm used is AES256.
I am new to Jmeter can anyone let me know how to import the CryptoJs libraries and how to use the function of same to encrypt and decrypt the same.
回答1:
I recall answering something similar already, see How to load external js library in Jmeter?
Quoting myself:
Use Rhino load() method like:
load("crypto.js")
Given the guy wasn't able to use the instruction here is a little bit extended version:
- Download the required version of CryptoJS from the releases page and unpack it somewhere
Using
load
method provide full path tocrypto-js.js
file like:/tmp/crypto-js-3.1.7/crypto-js.js
Access methods like
- CryptoJS.SHA256(...)
- CryptoJS.AES(...)
- etc.
Demo:
If the values are static and you don't have a lot of them a better idea could be storing them into a file and accessing via i.e. CSV Data Set Config
回答2:
JMeter is not a browser.
Javascript is run through Rhino or Nashorn.
So your best option is to look at CryptoJS code and either:
use it in a JSR223-Preprocessor using Javascript language
Translate code to Groovy/Java using JSR223-Preprocessor + groovy
See:
- Java 256-bit AES Password-Based Encryption
来源:https://stackoverflow.com/questions/40015014/how-to-import-cryptojs-in-jmeter