Skip to content

Instantly share code, notes, and snippets.

@Surendev
Created March 16, 2017 15:37
Show Gist options
  • Select an option

  • Save Surendev/50193bd4605db106419cd742fa562c1c to your computer and use it in GitHub Desktop.

Select an option

Save Surendev/50193bd4605db106419cd742fa562c1c to your computer and use it in GitHub Desktop.
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