Java 写aes加密
时间: 2024-02-23 16:50:25 浏览: 78
您好,关于Java写aes加密,可以使用JDK中提供的javax.crypto包中的AES算法进行实现。下面是一个简单的Java代码示例:
```java
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
public class AESUtil {
private static final String KEY_ALGORITHM = "AES";
private static final String CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";
private static final String CHARSET = "UTF-8";
public static byte[] encrypt(String content, String key) throws Exception {
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key.getBytes(CHARSET), KEY_ALGORITHM));
return Base64.getEncoder().encode(cipher.doFinal(content.getBytes(CHARSET)));
}
public static String decrypt(byte[] content, String key) throws Exception {
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(key.getBytes(CHARSET), KEY_ALGORITHM));
return new String(cipher.doFinal(Base64.getDecoder().decode(content)), CHARSET);
}
}
```
其中,`encrypt`方法是进行加密操作的方法,接收明文和密钥作为输入,返回密文;`decrypt`方法是进行解密操作的方法,接收密文和密钥作为输入,返回明文。具体实现中,我们先使用`Cipher.getInstance`方法获取加密算法实例,然后使用`cipher.init`方法初始化加密算法的模式和密钥。接着,我们调用`cipher.doFinal`方法对明文或密文进行加密或解密操作,最后将结果进行Base64编码或解码,返回给调用方。请注意,这里示例代码中使用了ECB模式对明文或密文进行加密或解密,如果需要使用其他模式,请参考JDK文档进行调整。
阅读全文