Products
GG网络技术分享 2025-11-12 22:21 3
根据您给的文档内容,
java import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64;

public class AESUtil {
public static String encrypt throws Exception {
SecretKeySpec secretKeySpec = new SecretKeySpec, "AES");
Cipher cipher = Cipher.getInstance;
cipher.init;
byte encryptedData = cipher.doFinal);
return new String);
}
public static String decrypt throws Exception {
SecretKeySpec secretKeySpec = new SecretKeySpec, "AES");
Cipher cipher = Cipher.getInstance;
cipher.init;
byte encryptedBytes = Base64.decodeBase64);
byte decryptedData = cipher.doFinal;
return new String;
}
}
java import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Cipher; import org.apache.commons.codec.binary.Base64;
public static KeyPair generateKeyPair throws Exception {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance;
keyPairGenerator.initialize;
KeyPair keyPair = keyPairGenerator.generateKeyPair;
return keyPair;
}
public static String encrypt throws Exception {
Cipher cipher = Cipher.getInstance;
cipher.init;
byte encryptedData = cipher.doFinal);
return new String);
}
public static String decrypt throws Exception {
Cipher cipher = Cipher.getInstance;
cipher.init;
byte encryptedBytes = Base64.decodeBase64);
byte decryptedData = cipher.doFinal;
return new String;
}
在实际应用中,Neng用非对称加密来平安地共享对称加密的密钥。
java public class EncryptionExample {
public static void main throws Exception {
// 生成RSA密钥对
KeyPair keyPair = RSAUtil.generateKeyPair;
PublicKey publicKey = keyPair.getPublic;
PrivateKey privateKey = keyPair.getPrivate;
// 生成AES密钥
String aesKey = "1234567890123456"; // 16字节密钥
// 用非对称加密AES密钥
String encryptedAESKey = RSAUtil.encrypt;
// 用对称加密算法加密数据
String data = "Hello, World!";
String encryptedData = AESUtil.encrypt;
// 打印后来啊
System.out.println;
System.out.println;
// 解密AES密钥
String decryptedAESKey = RSAUtil.decrypt;
// 用解密后的AES密钥解密数据
String decryptedData = AESUtil.decrypt;
// 验证后来啊
System.out.println;
}
在这玩意儿示例中, 我们先说说用RSA算法生成密钥对,然后用公钥加密AES密钥,将加密后的AES密钥发送给接收方。接收方用私钥解密AES密钥,然后用AES密钥加密数据。这样,即使数据被截获,打者也无法解密数据,基本上原因是需要私钥来解密AES密钥。
Demand feedback