java 根据key 加密
时间: 2024-10-23 17:20:37 浏览: 23
在 Java 中,根据 key 对数据进行加密通常使用的是对称加密算法(如 AES、DES 等)或非对称加密算法(如 RSA)。以下是基于对称加密的一个简单示例,使用 AES(Advanced Encryption Standard):
```java
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
public class KeyBasedEncryption {
private static final String ALGORITHM = "AES";
private static final byte[] keyValue = "your_secret_key".getBytes(); // 替换为实际的密钥
public static String encrypt(String textToEncrypt) throws Exception {
SecretKeySpec secretKey = new SecretKeySpec(keyValue, ALGORITHM);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] encryptedBytes = cipher.doFinal(textToEncrypt.getBytes());
return Base64.getEncoder().encodeToString(encryptedBytes);
}
public static String decrypt(String encryptedText) throws Exception {
SecretKeySpec secretKey = new SecretKeySpec(keyValue, ALGORITHM);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, secretKey);
byte[] decryptedBytes = cipher.doFinal(Base64.getDecoder().decode(encryptedText));
return new String(decryptedBytes);
}
}
```
在这个例子中,`encrypt()` 方法用于加密,`decrypt()` 方法用于解密,都需要相同的密钥 `keyValue` 来操作。
阅读全文
相关推荐

















