在登錄時(shí)遇到加密是比較常見(jiàn)的場(chǎng)景,也為安全一般是從服務(wù)器動(dòng)態(tài)獲取公鑰,再根據(jù)公鑰對(duì)密碼明文進(jìn)行rsa加密,做為密碼再進(jìn)行登錄使用。所以需要對(duì)輸入的密碼進(jìn)行處理,即在登錄接口中添加前置JSR223進(jìn)行處理,如下圖所示:
所使用的都是java標(biāo)準(zhǔn)庫(kù)里的函數(shù),所以可以直接使用。具體代碼如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-811001.html
import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.spec.X509EncodedKeySpec;
import javax.crypto.Cipher;
import org.apache.commons.codec.binary.Base64;
String plaintext = "2";
//String publicKeyStr = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiSmbl2XOiGkbR_7oY2ja8Da9DPTZTeINKsIUHM3sGY_rbo3boN13Hq20APD1374_VWwgJQaSzbhzTV6Aoo6t_GG7-Fsa79CT5Kmtb5ycuvXbw0KCCIydmlu9OR9M697T4CX276HfadV40pY0qp5dsduFefqlOwSvv-xs2affS6jEHs5VKhGO6b3YTvscwRzCxQMK06YNL-RIFnr9TTz7bLeGGdos94tquB2Ci914jAJzt27t9W0haOVvX5MuNs6p5xZJI6ju5yabI4fFXvyo9gWPOqrW57dwyFCa0fJATGMlvqGGP5Qm_2y0Il_dCZLFqv-nKs3imOwMrkCGYHA8JQIDAQAB";
String publicKeyStr = vars.get("publicKey");
// Convert public key string to PublicKey object;java 8及更高版本使用Base64.getDecoder().decode(publicKeyStr) 進(jìn)行解碼,否則使用Base64.decodeBase64(publicKeyStr)進(jìn)行解碼
byte[] publicKeyBytes = Base64.decodeBase64(publicKeyStr);
//byte[] publicKeyBytes = Base64.getDecoder().decode(publicKeyStr)
X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyBytes);
KeyFactory factory = KeyFactory.getInstance("RSA");
PublicKey publicKey = factory.generatePublic(spec);
// Encrypt plaintext using RSA
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encryptedBytes = cipher.doFinal(plaintext.getBytes("UTF-8"));
// Convert encrypted bytes to base64 string
String encryptedStr = Base64.encodeBase64String(encryptedBytes);
// Set the result variable for JMeter
vars.put("encryptedPassword", encryptedStr);
//${__setProperty(encryptedPassword,encryptedStr,)};
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-811001.html
到了這里,關(guān)于jmeter根據(jù)公鑰base64對(duì)明文密碼進(jìn)行rsa加密的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!