我目前正在使用RSA加密来加密敏感数据的应用程序中工作。是否有办法在Jmeter中使用RSA加密,以便在前面的响应中显示此值已加密?下面是一个示例,实际值“电子邮件地址信息”:(“PerfTestA@gmail.com | PerftestB@gmail.com“)中找到。我希望上面的值在Jmeter中显示为加密的,就像下面一样。“电子邮件地址信息”:“(a)””混合字符表示加密值。
kninwzqo1#
它看起来不像一个RSA加密的消息给我,所以我会建议双重检查算法。无论如何,为了对字符串进行RSA加密,您需要使用来自JSR223测试元素的Cipher类(使用Groovy language)示例代码:
import javax.crypto.Cipher import java.security.KeyFactory import java.security.spec.X509EncodedKeySpec //replace with your own RSA public key def publicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsvX9P58JFxEs5C+L+H7W\n' + 'duFSWL5EPzber7C2m94klrSV6q0bAcrYQnGwFOlveThsY200hRbadKaKjHD7qIKH\n' + 'DEe0IY2PSRht33Jye52AwhkRw+M3xuQH/7R8LydnsNFk2KHpr5X2SBv42e37LjkE\n' + 'slKSaMRgJW+v0KZ30piY8QsdFRKKaVg5/Ajt1YToM1YVsdHXJ3vmXFMtypLdxwUD\n' + 'dIaLEX6pFUkU75KSuEQ/E2luT61Q3ta9kOWm9+0zvi7OMcbdekJT7mzcVnh93R1c\n' + '13ZhQCLbh9A7si8jKFtaMWevjayrvqQABEcTN9N4Hoxcyg6l4neZtRDk75OMYcqm\n' + 'DQIDAQAB' def x509PublicKey = new X509EncodedKeySpec(publicKey.decodeBase64()) def keyFactory = KeyFactory.getInstance('RSA') def key = keyFactory.generatePublic(x509PublicKey) def string2Encrypt = '("PerfTestA@gmail.com | PerftestB@gmail.com").' def encryptCipher = Cipher.getInstance('RSA') encryptCipher.init(Cipher.ENCRYPT_MODE, key) def secretMessage = string2Encrypt.getBytes('UTF-8') def encryptedMessage = encryptCipher.doFinal(secretMessage) def encodedMessage = encryptedMessage.encodeBase64().toString() vars.put('encodedMessage', encodedMessage)
完成后,您将能够在需要的地方将加密值引用为${encodedMessage}。
${encodedMessage}
1条答案
按热度按时间kninwzqo1#
它看起来不像一个RSA加密的消息给我,所以我会建议双重检查算法。
无论如何,为了对字符串进行RSA加密,您需要使用来自JSR223测试元素的Cipher类(使用Groovy language)
示例代码:
完成后,您将能够在需要的地方将加密值引用为
${encodedMessage}
。