10. Write a Java program to create an interface Encryptable with methods encrypt (String data) and decrypt (String encryptedData) that define encryption and decryption operations. Create two classes AES and RSA that implement the Encryptable interface and provide their own encryption and decryption algorithms.
💡Code:
// Encryptable interface interface Encryptable { String encrypt(String data); String decrypt(String encryptedData); } // AES class implementing Encryptable class AES implements Encryptable { @Override public String encrypt(String data) { // Implement AES encryption algorithm // Example: Just reversing the string for demonstration purposes return new StringBuilder(data).reverse().toString(); } @Override public String decrypt(String encryptedData) { // Implement AES decryption algorithm // Example: Just reversing the string back for demonstration purposes return new StringBuilder(encryptedData).reverse().toString(); } } // RSA class implementing Encryptable class RSA implements Encryptable { @Override public String encrypt(String data) { // Implement RSA encryption algorithm // Example: Adding a prefix "RSA:" for demonstration purposes return "RSA:" + data; } @Override public String decrypt(String encryptedData) { // Implement RSA decryption algorithm // Example: Removing the "RSA:" prefix for demonstration purposes if (encryptedData.startsWith("RSA:")) { return encryptedData.substring(4); } else { // Handle invalid or unrecognized format return "Invalid format for RSA decryption"; } } } // Main class to test the implementation public class Encryption7078 { public static void main(String[] args) { // Test AES encryption and decryption Encryptable aesEncryptor = new AES(); String aesData = "Hello, AES!"; String aesEncrypted = aesEncryptor.encrypt(aesData); String aesDecrypted = aesEncryptor.decrypt(aesEncrypted); System.out.println("AES Encrypted: " + aesEncrypted); System.out.println("AES Decrypted: " + aesDecrypted); // Test RSA encryption and decryption Encryptable rsaEncryptor = new RSA(); String rsaData = "Hello, RSA!"; String rsaEncrypted = rsaEncryptor.encrypt(rsaData); String rsaDecrypted = rsaEncryptor.decrypt(rsaEncrypted); System.out.println("RSA Encrypted: " + rsaEncrypted); System.out.println("RSA Decrypted: " + rsaDecrypted); } }
📸Output :
.png)