Come eseguire la crittografia RSA dell'array di byte con la chiave pubblica codificata in base 64?Codifica RSA con chiave pubblica codificata Base64 in Android
Dopo aver letto la coppia di articoli (di Google Search) su come fare la crittografia RSA in Java, ha trovato il seguente frammento
public byte[] rsaEncrypt(byte[] data) {
PublicKey pubKey = readKeyFromFile("/public.key");
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
byte[] cipherData = cipher.doFinal(src);
return cipherData;
}
Ho chiave pubblica come una stringa base64 codificato (126 caratteri), Come creo "PublicKey" con la stringa codificata e lo uso con Cipher.
Come possiamo sapere cosa è contenuto nella stringa codificata in base64? È probabilmente un modulo e un esponente pubblico, ma quale forma? * Probabilmente * la codifica DER di X509EncodedKeySpec. –