jmeter 加密
1.base64加密
import java.util.Base64; import sun.misc.BASE64Encoder; BASE64Encoder encode = new sun.misc.BASE64Encoder(); String 加密后参数 = encode.encode("${需要加密的参数}".getBytes());
2.ase加密
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
* 编码工具类
* 实现aes加密、解密
*/
// public static final Logger LOGGER = LoggerFactory.getLogger(AesUtils.class);
// 加解密 key xxxxx
private static final String AES = "AES";
//偏移量
private static final String IV_STRING = "aaaaaaaa";
private static final String key = "xxxxxxxxxx";
private static final String AESCBC = "AES/CBC/PKCS5Padding";
private static final String UTF8 = "UTF-8";
/**
* 加密
*
* @param content 加密内容
* @return 密文
* @throws Exception e
*/
public static String encrypt(String content) {
byte[] encryptedBytes = new byte[0];
try {
byte[] byteContent = content.getBytes(UTF8);
// 注意,为了能与 iOS 统一
// 这里的 key 不可以使用 KeyGenerator、SecureRandom、SecretKey 生成
byte[] enCodeFormat = key.getBytes();
SecretKeySpec secretKeySpec = new SecretKeySpec(enCodeFormat, AES);
byte[] initParam = IV_STRING.getBytes();
IvParameterSpec ivParameterSpec = new IvParameterSpec(initParam);
// 指定加密的算法、工作模式和填充方式
Cipher cipher = Cipher.getInstance(AESCBC);
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivParameterSpec);
encryptedBytes = cipher.doFinal(byteContent);
// 同样对加密后数据进行 base64 编码
} catch (Exception e) {
e.getStackTrace();
}
return new BASE64Encoder().encode(encryptedBytes);
}
/**
* 解密
*
* @param content 密文
* @return 明文
* @throws Exception e
*/
public static String decrypt(String content) {
// base64 解码
try {
byte[] encryptedBytes = new BASE64Decoder().decodeBuffer(content);
byte[] enCodeFormat = key.getBytes();
SecretKeySpec secretKey = new SecretKeySpec(enCodeFormat, AES);
byte[] initParam = IV_STRING.getBytes();
IvParameterSpec ivParameterSpec = new IvParameterSpec(initParam);
Cipher cipher = Cipher.getInstance(AESCBC);
cipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameterSpec);
byte[] result = cipher.doFinal(encryptedBytes);
return new String(result, UTF8);
} catch (Exception e) {
e.getStackTrace();
}
return null;
}
/**
* 根据传入的密钥进行验证
* @param text
* @param aes
* @return
*/
public static boolean verify(String text,String aes) {
String aesstr = encrypt(text);
if (aesstr.equalsIgnoreCase(aes)) {
return true;
}
return false;
}