You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@Test
public void test() {
EncryptUtil.encrypt("root");
EncryptUtil.encrypt("root");
}
报错
Caused by: java.security.InvalidAlgorithmParameterException: Cannot reuse iv for GCM encryption
at com.sun.crypto.provider.CipherCore.init(CipherCore.java:582)
at com.sun.crypto.provider.AESCipher.engineInit(AESCipher.java:346)
at javax.crypto.Cipher.init(Cipher.java:1397)
at javax.crypto.Cipher.init(Cipher.java:1330)
at com.wgzhao.addax.common.util.EncryptUtil.encrypt(EncryptUtil.java:79)
源码
static {
try {
final int iterationCount = 40000;
final int keyLength = 128;
ivSpec = new IvParameterSpec(iv);
pbeCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA512");
PBEKeySpec keySpec = new PBEKeySpec(SECRET_KEY.toCharArray(), SALT.getBytes(), iterationCount, keyLength);
SecretKey keyTmp = keyFactory.generateSecret(keySpec);
secSpec = new SecretKeySpec(keyTmp.getEncoded(), "AES");
}
catch (Exception e) {
e.printStackTrace();
}
}
public static String encrypt(String password)
{
try {
pbeCipher.init(Cipher.ENCRYPT_MODE, secSpec, ivSpec);
byte[] cryptoText = pbeCipher.doFinal(password.getBytes(StandardCharsets.UTF_8));
return base64Encode(cryptoText);
}
catch (Exception e) {
throw new RuntimeException(e);
}
}
这里的 iv每次加密都不能使用同一个,不能 static!!
Version
4.1.3 (Default)
OS Type
No response
Java JDK Version
Oracle JDK 1.8.0
Relevant log output
No response
The text was updated successfully, but these errors were encountered:
What happened?
在
mysqlreader
中的password
使用${enc:
时,发现com.wgzhao.addax.common.util.EncryptUtil
类的encrypt
方法,无法多次加密,如下:报错
源码
这里的
iv
每次加密都不能使用同一个,不能 static!!Version
4.1.3 (Default)
OS Type
No response
Java JDK Version
Oracle JDK 1.8.0
Relevant log output
No response
The text was updated successfully, but these errors were encountered: