aes-gcm用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
aes-gcm用法
AES-GCM(Advanced Encryption Standard - Galois/Counter Mode)是一种对称加密算法,常用于数据的加密和认证。
以下是AES-GCM的用法示例:
1. 密钥生成:生成一个16字节(128位)的密钥。
可以使用安全的随机数生成器来生成密钥。
```java
SecureRandom secureRandom = new SecureRandom();
byte[] key = new byte[16];
secureRandom.nextBytes(key);
```
2. 加密:使用密钥对数据进行加密。
```java
byte[] plaintext = "Hello, World!".getBytes();
byte[] iv = new byte[12]; // 初始化向量,长度为12字节secureRandom.nextBytes(iv);
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); GCMParameterSpec gcmParameterSpec = new GCMParameterSpec(128, iv);
cipher.init(Cipher.ENCRYPT_MODE, keySpec, gcmParameterSpec);
byte[] ciphertext = cipher.doFinal(plaintext);
```
3. 解密:使用密钥对加密后的数据进行解密。
```java
cipher.init(Cipher.DECRYPT_MODE, keySpec, gcmParameterSpec);
byte[] decryptedText = cipher.doFinal(ciphertext);
```
注意:在实际使用中,需要考虑更多的安全性和错误处理措施,上述示例只是简单的用法演示。
还应该在使用加密算法时遵循最佳实践,并确保密钥的安全存储和传输。