Java中的AES加密可以使用javax.crypto包中的类来实现。以下是一个使用AES加密的示例:
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
public class AES {
private static final String ALGORITHM = "AES";
private static final String KEY = "mySecretKey12345";
public static String encrypt(String value) throws Exception {
SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), ALGORITHM);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
byte[] encryptedValue = cipher.doFinal(value.getBytes());
return Base64.getEncoder().encodeToString(encryptedValue);
}
public static String decrypt(String encryptedValue) throws Exception {
SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), ALGORITHM);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, keySpec);
byte[] decodedValue = Base64.getDecoder().decode(encryptedValue);
byte[] decryptedValue = cipher.doFinal(decodedValue);
return new String(decryptedValue);
}
}
在上面的示例中,我们定义了一个AES类,其中包含了encrypt()和decrypt()方法。encrypt()方法用于加密字符串,decrypt()方法用于解密字符串。
需要注意的是,我们使用了Base64编码来将加密后的字节数组转换为字符串,以便于存储和传输。另外,我们使用了一个固定的密钥来进行加密和解密操作,实际应用中应该使用更加安全的密钥管理方案。