ECC 加密输出Base64字符串 java代码
时间: 2023-12-24 11:05:38 浏览: 77
以下是 Java 中使用 ECC 加密并输出 Base64 字符串的示例代码:
```java
import java.security.*;
import java.security.spec.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.util.Base64;
public class ECCBase64Example {
public static void main(String[] args) throws Exception {
// Generate key pair
KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC");
kpg.initialize(new ECGenParameterSpec("secp256r1"));
KeyPair keyPair = kpg.generateKeyPair();
// Create cipher instance
Cipher cipher = Cipher.getInstance("ECIES");
// Initialize cipher with public key
cipher.init(Cipher.ENCRYPT_MODE, keyPair.getPublic());
// Encrypt message
byte[] plaintext = "Hello, world!".getBytes();
byte[] ciphertext = cipher.doFinal(plaintext);
// Encode ciphertext to Base64 string
String base64Ciphertext = Base64.getEncoder().encodeToString(ciphertext);
System.out.println("Base64 ciphertext: " + base64Ciphertext);
}
}
```
在上面的示例代码中,我们首先生成了一个 ECC 密钥对。然后创建了一个 `Cipher` 实例,并使用公钥对其进行了初始化。接下来,我们加密了消息并将其编码为 Base64 字符串,最后输出了该字符串。
请注意,这里使用了 `ECIES` 算法进行加密。这个算法是 ECC 的一种加密方式。在实际应用中,您可能需要根据您的具体需求选择不同的 ECC 加密算法。
阅读全文