针对响应值的Jmeter中的RSA加密

bqucvtff  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(254)

我目前正在使用RSA加密来加密敏感数据的应用程序中工作。是否有办法在Jmeter中使用RSA加密,以便在前面的响应中显示此值已加密?下面是一个示例,
实际值“电子邮件地址信息”:(“PerfTestA@gmail.com | PerftestB@gmail.com“)中找到。
我希望上面的值在Jmeter中显示为加密的,就像下面一样。
“电子邮件地址信息”:“(a)””
混合字符表示加密值。

kninwzqo

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}

相关问题