Java AES加密、解密使用示例

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编码来将加密后的字节数组转换为字符串,以便于存储和传输。另外,我们使用了一个固定的密钥来进行加密和解密操作,实际应用中应该使用更加安全的密钥管理方案。