Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DecryptKey {
- //before you proceed, you need to ensure your public key is PKCS8 since that is what can be read natively in java.
- //If your key begins with-----BEGIN CERTIFICATE-----,
- // the it is ssleay and you need to convert it using the openssl command below
- //openssl pkcs8 -topk8 -inform pem -in public.key -outform pem -nocrypt -out pkcs8-public-key.pem
- //TODO You can you phpsecLib lib but it doesn't support some Library
- //opnssl work fine
- final private static String RSA_PRIVATE_KEY =
- -----BEGIN PUBLIC KEY-----
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzTrKt2Y7HqQpt8w379Sl
- 79mjXGJ+CF+ridXpnAKoKyN8LH1NkI08UyWEHKbtCBl4iCsy8ayr4RAkWDKzeb8p
- ZEmdOg3cHKyFT6NdUEDc0FGpgKWY6GycJUrY+1S5O256M/NRSw02mUpyYIpGjq1z
- 2zfu4GWIPg24hyI4YrAVI90mknIyXduerLH30XdwnKTevwhkQ4cP+xeYLVDduodc
- pcVaSXcwBvIbwVWS7szTxNGX0qyDlmJoK6YtTZ4FJp6BK6iyD+Fpnt9Fld8d62o2
- WjAtjpc8w81kIwwykojCDv9cb2qhwryS63qlcPhgpxcpDXINBHxcONHtHSWKEb0t
- 2wIDAQAB
- -----END PUBLIC KEY-----;
- public static byte[] decrypt(String key) throws Exception {
- String privKeyPEM = RSA_PRIVATE_KEY.replace("-----BEGIN PRIVATE KEY-----\n", "");
- privKeyPEM = privKeyPEM.replace("-----END PRIVATE KEY-----", "");
- byte [] encoded = Base64.decode(privKeyPEM, Base64.DEFAULT);
- PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encoded);
- KeyFactory kf = KeyFactory.getInstance("RSA");
- PrivateKey privKey = kf.generatePrivate(keySpec);
- Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");
- cipher.init(Cipher.DECRYPT_MODE, privKey);
- byte[] decodedStr = Base64.decode(key, Base64.DEFAULT);
- byte[] plainText = cipher.doFinal(decodedStr);
- return plainText;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement