java AESUtils
时间: 2023-11-20 12:53:48 浏览: 36
Java AESUtils是一个Java类,用于实现AES加密和解密算法。它提供了一组静态方法,可以使用不同的AES加密模式和填充方案来加密和解密数据。使用AESUtils可以轻松地将敏感数据加密,以保护其机密性。以下是使用Java AESUtils进行AES加密和解密的示例代码:
```java
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.security.MessageDigest;
import java.util.Arrays;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
public class AESUtils {
private static final String ALGORITHM = "AES/CBC/PKCS5Padding";
private static final String CHARSET = "UTF-8";
public static byte[] encrypt(byte[] key, byte[] iv, byte[] data) throws Exception {
SecretKey secretKey = new SecretKeySpec(key, "AES");
IvParameterSpec ivSpec = new IvParameterSpec(iv);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivSpec);
return cipher.doFinal(data);
}
public static byte[] decrypt(byte[] key, byte[] iv, byte[] encryptedData) throws Exception {
SecretKey secretKey = new SecretKeySpec(key, "AES");
IvParameterSpec ivSpec = new IvParameterSpec(iv);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, secretKey, ivSpec);
return cipher.doFinal(encryptedData);
}
}
```