JMeter-JsenEncrypt使用Groovy,以便在每次加密线程调用期间不会过载js负载

JMeter-JsenEncrypt使用Groovy,以便在每次加密线程调用期间不会过载js负载,groovy,jmeter,jsencrypt,Groovy,Jmeter,Jsencrypt,使用jsr223预处理器的JMeter希望使用groovy作为语言。 如何将当前代码转换为groovy,以便以下代码在作为每个线程的一部分执行时不会造成任何性能瓶颈 脚本如下所示: 如果你想让别人替你做你的工作,你可以考虑把它放在一个自由职业机构上。 今后避免将代码作为图像发布,我怀疑是否有人愿意使用工具或重新键入代码来重现您的问题 我强烈怀疑你的代码是否有效,因为它依赖于 关于问题本身,您可以使用,以便使用您喜欢的任何算法加密您想要的任何字符串 Groovy代码示例: def cipher

使用jsr223预处理器的JMeter希望使用groovy作为语言。 如何将当前代码转换为groovy,以便以下代码在作为每个线程的一部分执行时不会造成任何性能瓶颈

脚本如下所示:

如果你想让别人替你做你的工作,你可以考虑把它放在一个自由职业机构上。
  • 今后避免将代码作为图像发布,我怀疑是否有人愿意使用工具或重新键入代码来重现您的问题
  • 我强烈怀疑你的代码是否有效,因为它依赖于

  • 关于问题本身,您可以使用,以便使用您喜欢的任何算法加密您想要的任何字符串

    Groovy代码示例:

    def cipher = javax.crypto.Cipher.getInstance('RSA')
    def factory = java.security.KeyFactory.getInstance("RSA")
    def publicKeyString='your_public_key_here'
    def  encodedKeySpec = new java.security.spec.X509EncodedKeySpec(publicKeyString.decodeBase64())
    def publicKey = factory.generatePublic(encodedKeySpec)
    cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, publicKey)
    cipherText = cipher.doFinal('the string you want to encode'.getBytes())
    log.info('Encrypted: ' + cipherText.encodeBase64())
    
    演示:


    更多信息:

    我试图运行上述代码行,但在JSR223脚本JSR223采样器中遇到了错误问题,消息:javax.script.ScriptException:java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:IOException:Detect premature EOF javax.script.ScriptException:java.security.spec.InvalidKeyException:org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java)在这里用私钥文件的实际内容替换,如下所示:def cipher=javax.crypto.cipher.getInstance('RSA')def factory=java.security.KeyFactory.getInstance(“RSA”)def publicKeyString='30820222300d06092a864886f70d01010105000382020f003082020a02820201009d865a'def encodedKeySpec=new java.security.spec.X509EncodedKeySpec(publicKeyString.decodeBase64())def publicKey=factory.generatePublic(encodedKeySpec)cipher.init(javax.crypto.cipher.ENCRYPT_模式,publicKey)cipherText=cipher.doFinal('asdasdfasrasf'.getBytes())log.info('Encrypted:'+cipherText.encodeBase64())对我来说,它看起来不像公钥,请确保完整复制:公钥太长,无法粘贴到此处..但我在代码中复制了它..因为它太长,所以我在代码中将它们拆分为多行,例如def PKEY='308202223000D06092A864886F70D01010105000382020F003082020A02820201009D865A469CD1672FE3DF9F15A8D4B22DE008A9F60748919AA8B2996\n'+'c04004b91f74553616B64B7D6D2626BEF38F7A0DBD788D7026EF2AB4993EB77E551FDA1569B31E81656E20629EC0730462E8C12BA79447FD7AFB00DE656A199878\n'+'2149154D94D36EF2453365442C3830B6B609B2218D7481306F98BBFFC7C44683FB520D68415CA73108E10B5790F5A32B73B7346EE7348144F71EDD79F7746\n'