91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java非對稱加密算法怎么寫

小億
82
2024-06-06 09:59:24
欄目: 編程語言

在Java中,可以使用java.security包提供的類來實現非對稱加密算法。常用的非對稱加密算法有RSA算法。

以下是一個簡單的示例代碼,演示如何使用RSA算法進行非對稱加密和解密:

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Security;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import javax.crypto.Cipher;

public class AsymmetricEncryptionExample {

    public static void main(String[] args) throws Exception {
        // 生成RSA密鑰對
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        keyPairGenerator.initialize(2048);
        KeyPair keyPair = keyPairGenerator.generateKeyPair();

        PublicKey publicKey = keyPair.getPublic();
        PrivateKey privateKey = keyPair.getPrivate();

        // 加密數據
        byte[] data = "Hello, World!".getBytes();
        byte[] encryptedData = encrypt(data, publicKey);

        System.out.println("Encrypted data: " + new String(encryptedData));

        // 解密數據
        byte[] decryptedData = decrypt(encryptedData, privateKey);

        System.out.println("Decrypted data: " + new String(decryptedData));
    }

    public static byte[] encrypt(byte[] data, PublicKey publicKey) throws Exception {
        Cipher cipher = Cipher.getInstance("RSA");
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);

        return cipher.doFinal(data);
    }

    public static byte[] decrypt(byte[] data, PrivateKey privateKey) throws Exception {
        Cipher cipher = Cipher.getInstance("RSA");
        cipher.init(Cipher.DECRYPT_MODE, privateKey);

        return cipher.doFinal(data);
    }
}

這段代碼首先生成RSA密鑰對,然后使用公鑰對數據進行加密,再使用私鑰對加密后的數據進行解密。最后打印出解密后的數據。

需要注意的是,這里使用的是RSA算法,密鑰長度為2048位。在實際應用中,應該根據數據的安全性需求選擇合適的密鑰長度。

0
库尔勒市| 格尔木市| 镇安县| 民权县| 兴化市| 太康县| 朝阳市| 桐城市| 高淳县| 宣汉县| 武安市| 南召县| 麻阳| 偏关县| 临邑县| 镇雄县| 宽甸| 玛纳斯县| 承德县| 北川| 曲沃县| 介休市| 成安县| 新宾| 溆浦县| 洪江市| 万全县| 当雄县| 揭东县| 伊金霍洛旗| 建瓯市| 大同县| 通海县| 阜南县| 奉节县| 龙泉市| 自贡市| 沧源| 临城县| 阳东县| 大渡口区|