मैं एक पाठ एन्क्रिप्ट करना चाहता हूं, मैं कुंजी और वेक्टर चर के साथ एईएस एन्क्रिप्शन का उपयोग कर रहा हूं और मेरे पास निम्न कोड है:

import java.util.zip.GZIPOutputStream;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec; 

log.info("Beanshell Execution Commenced"); 

String plainText = vars.get("xmlDeclaracion").toString();

//log.info(plainText); 

static final String _Key = vars.get("keybytes");
static final String _Iv = vars.get("iv");

Cipher _Cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec _KeySpec = new SecretKeySpec(_Key.getBytes(), "AES");
IvParameterSpec _IvSpec = new IvParameterSpec(_Iv.getBytes());

_Cipher.init(Cipher.ENCRYPT_MODE, _KeySpec, _IvSpec); 

byte[] cipherText = _Cipher.doFinal(plainText.getBytes("UTF-8")); 

String encryptedResponse = Base64.encodeBase64String(cipherText); 

vars.put("encryptedResponse",encryptedResponse); 

लेकिन जब मैं परीक्षण चलाता हूं तो कंसोल में त्रुटि Error invoking bsh method दिखाई देती है

2020-12-10 18:29:25,154 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-12-10 18:29:25,154 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-12-10 18:29:25,155 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-12-10 18:29:25,155 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2020-12-10 18:29:25,155 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2020-12-10 18:29:25,155 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-12-10 18:29:25,155 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false
2020-12-10 18:29:25,160 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-12-10 18:29:25,160 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-12-10 18:29:25,160 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1
2020-12-10 18:29:25,160 INFO o.a.j.s.FileServer: Stored: C:/Jmeter/Morales2020/MoralesAnual.csv
2020-12-10 18:29:25,165 INFO o.a.j.u.BeanShellTestElement: Beanshell Execution Commenced
2020-12-10 18:29:25,166 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.util.zip.GZIPOutputStream; import java.security.InvalidAlgorithmPara . . . '' : Method Invocation _Cipher.init
2020-12-10 18:29:25,166 WARN o.a.j.p.j.s.BeanShellSampler: Exception executing script. org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.util.zip.GZIPOutputStream; import java.security.InvalidAlgorithmPara . . . '' : Method Invocation _Cipher.init**
2020-12-10 18:29:25,166 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1
2020-12-10 18:29:25,166 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2020-12-10 18:29:25,167 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-12-10 18:29:25,167 INFO o.a.j.s.FileServer: Close: C:/Jmeter/Morales2020/MoralesAnual.csv
2020-12-10 18:29:25,167 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
0
Rodolfo David García 11 पद 2020, 03:38

1 उत्तर

सबसे बढ़िया उत्तर

मानव-पठनीय त्रुटि संदेश प्राप्त करने के लिए आपको अपना कोड अवरुद्ध करने का प्रयास करें जैसे:

try {
//your code here
}
catch (Exception ex) {
    log.error("Failure", ex);
}

यह भी जान लें कि JMeter 3.1 के बाद से JSR223 टेस्ट एलीमेंट्स और ग्रूवी भाषा का उपयोग करने की अनुशंसा की जाती है< /a> स्क्रिप्टिंग के लिए। बीनशेल की तुलना में ग्रूवी का प्रदर्शन बहुत बेहतर है, खासकर जब यह संसाधन-गहन क्रिप्टोग्राफ़िक संचालन की बात आती है।

आपके कोड में केवल आवश्यक परिवर्तन static चर से संशोधक

तो आपके xmlDeclaracion, keybytes और iv वैरिएबल के मान्य मान दिए गए हैं, आपके कोड को ठीक काम करना चाहिए।

जेएमटर में ग्रूवी स्क्रिप्टिंग के बारे में अधिक जानकारी: अपाचे ग्रूवी - आपको इसका उपयोग क्यों और कैसे करना चाहिए ए>

0
Dmitri T 11 पद 2020, 11:05