ตัวอย่างนี้เป็นสร้างคู่กุญแจ RSA ขึ้นมาใหม่ จากนั้นจึงใช้กุญแจสาธารณะเพื่อเข้ารหัสข้อมูล ข้อมูลที่เข้ารหัสจะถูกพิมพ์ออกมาเป็นอาร์เรย์ของไบต์ การเข้ารหัส RSA ค่อนข้างช้าเมื่อเทียบกับวิธีการเข้ารหัสอื่นๆ และโดยทั่วไปจะใช้ในการเข้ารหัสข้อมูลที่มีขนาดเล็ก เช่น กุญแจ หรือข้อความขนาดเล็ก เช่น รหัสผ่าน ในการใช้งานจริงต้องคำนึงถึงข้อควรพิจารณาด้านความปลอดภัยหลายประการ เช่น ขนาดกุญแจ การเติม (padding) และการใช้ตัวสร้างแบบสุ่มที่เหมาะสม

import java.security.; import javax.crypto.;

public class RSAEncryption {
public static void main(String[] args) {
try {
// Generate a new RSA key pair
KeyPairGenerator keyGen = KeyPairGenerator.getInstance(“RSA”);
keyGen.initialize(2048);
KeyPair keyPair = keyGen.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();

        // Get the data to be encrypted
        String data = "This is the data to be encrypted.";
        byte[] dataBytes = data.getBytes();

        // Encrypt the data using the public key
        Cipher cipher = Cipher.getInstance("RSA");
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        byte[] encryptedData = cipher.doFinal(dataBytes);

        // Print out the encrypted data
        System.out.println("Encrypted data: " + new String(encryptedData));

    } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {
        e.printStackTrace();
    }
}

}