Created
March 16, 2017 15:37
-
-
Save Surendev/50193bd4605db106419cd742fa562c1c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package project.rsa.test; | |
| import sun.misc.BASE64Encoder; | |
| import javax.crypto.Cipher; | |
| import java.security.*; | |
| import java.security.spec.EncodedKeySpec; | |
| import java.security.spec.InvalidKeySpecException; | |
| import java.security.spec.PKCS8EncodedKeySpec; | |
| import java.util.Base64; | |
| /** | |
| * Created by Suro Smith on 2/22/2017 | |
| */ | |
| public class MainClass { | |
| static String privateKeyString = "MIICXAIBAAKBgQC4CLV9wxuJ14kXs1BDowrTLtF/OqmOnpllywVy/A/Ie5eUF2mr" + | |
| "rEGRNadGDqocTmcsd6ZQFMtXyvFHirpTMGJwougm/E/46v9PIXkloGxrM4HItm9x" + | |
| "pON7ydMK2GU4B10M0hi6/3QNDXDGFQk2YXAtXjjkmgxHo8DCcM751nmEpQIDAQAB" + | |
| "AoGAGqPwGd93ihGwX8TuVowwkfeSDhfg2atty0WDaWzBoCT8AU0OV/KcnzekGkkf" + | |
| "KO/UkaRUZ/1Knk/bc57KcCZt6V9F6XL0mA2RF0PMtf8NPHFof/mLd32ydLLagLS4" + | |
| "rstEYNMuPB4YU4c3WbKH7xvnsT5+h9O2hFP3tqNXOKp0pYECQQDmzMoOtMbqfmOD" + | |
| "8urKgrmxwfJXatbG7Oamd+uKjigtaOJGWgCiOB2NF7wkKAmyQ6lUvHRfEZ58O+Az" + | |
| "HFZrqN2FAkEAzCC9iRas22xc5fpSX0+Eza9JIlhqzbhYmp7/6k+/rrF8Sw/jgZ+7" + | |
| "z9HgeCKDY5+LuPiVn8GWfsIYQxk0mfmkoQJBAJU3g89cO1qyGh7d98S0HeB6FvdD" + | |
| "oNZ9pWWtFIDBBeLN87UuTUiT5S8qUD5EEHjLW/fn24j3eDKz93Cz+n+ibo0CQFAb" + | |
| "XSZKbsWhjgd2qBLdSvnJG0NOPYPEH4l2cmoKp+evoV53usmo3PSeoZ+js7pJ53RM" + | |
| "obNTLnNKSmkyoBD5BmECQCUEToRcCcNsiBER/r7AcYmD+kIkImrQ8ULz4Hx7Y9DB" + | |
| "JDJoqi5gcUAoqYCl3xf348TCOQ44/pU60654DfJxR4Q="; | |
| static String publicKeyString = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4CLV9wxuJ14kXs1BDowrTLtF/" + | |
| "OqmOnpllywVy/A/Ie5eUF2mrrEGRNadGDqocTmcsd6ZQFMtXyvFHirpTMGJwougm" + | |
| "/E/46v9PIXkloGxrM4HItm9xpON7ydMK2GU4B10M0hi6/3QNDXDGFQk2YXAtXjjk" + | |
| "mgxHo8DCcM751nmEpQIDAQAB"; | |
| private static PrivateKey privateKey; | |
| private static PublicKey publicKey; | |
| public static void main(String[] args) throws Exception { | |
| byte[] encodedPrivateKey = Base64.getDecoder().decode(privateKeyString); | |
| byte[] encodedPublicKey = Base64.getDecoder().decode(publicKeyString); | |
| try { | |
| EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encodedPrivateKey); | |
| PKCS8EncodedKeySpec publicKeySpec = new PKCS8EncodedKeySpec(encodedPublicKey); | |
| KeyFactory keyFactory = KeyFactory.getInstance("RSA"); | |
| privateKey = keyFactory.generatePrivate(keySpec); | |
| publicKey = keyFactory.generatePublic(publicKeySpec); | |
| } catch (NoSuchAlgorithmException | InvalidKeySpecException e) { | |
| e.printStackTrace(); | |
| } | |
| Cipher cipher = Cipher.getInstance("RSA"); | |
| cipher.init(1, publicKey); | |
| String encrypted = new String(cipher.doFinal("DUA LIPA".getBytes())); | |
| System.out.println(encrypted); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment