0
我試圖設置AES加密的應用程序和Eclipse拋出以下錯誤:AES加密初始化錯誤
"Multiple markers at this line
- Syntax error on tokens, ConstructorHeaderName expected instead
- Syntax error on token "(", < expected
- Syntax error on tokens, ConstructorHeaderName expected instead"
上線
enccipher.init(Cipher.ENCRYPT_MODE, secretkey);
和
deccipher.init(Cipher.DECRYPT_MODE, secretkey, new IvParameterSpec(iv));
這是我的代碼:
private final byte[] salt = new SecureRandom().generateSeed(8);
SecretKeyFactory fact = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec spec = new PBEKeySpec(null, salt, 65536, 256);
SecretKey tempsecret = fact.generateSecret(spec);
private SecretKey secret = new SecretKeySpec(tempsecret.getEncoded(), "AES");
private Cipher enccipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
enccipher.init(Cipher.ENCRYPT_MODE, secret);
private final byte[] iv = enccipher.getParameters().getParameterSpec(IvParameterSpec.class).getIV();
private Cipher deccipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
deccipher.init(Cipher.DECRYPT_MODE, secret, new IvParameterSpec(iv));
protected byte[] doEncrypt(String pass){
return enccipher.doFinal(pass.getBytes());
}
protected String doDecrypt(byte[] ciphertext) {
return new String (deccipher.doFinal(ciphertext), "UTF8");
}
這應該被保護字節[] doEncrypt(字符串通){ 返回enccipher.doFinal(pass.getBytes()); } – Honanin