Colección de citas famosas - Colección de máximas - Hola, vi su artículo anterior sobre el algoritmo RSA de JAVA en Internet. Me gustaría preguntarle cómo una matriz BYTE se convierte en una RSAPublicKey. Gracias.

Hola, vi su artículo anterior sobre el algoritmo RSA de JAVA en Internet. Me gustaría preguntarle cómo una matriz BYTE se convierte en una RSAPublicKey. Gracias.

//Convierte la matriz de bytes en RSAPublicKey

public RSAPublicKey bytes2PK(byte[] buf) {

buf=Base64.decode(buf); p>

tamaño del byte=buf[0];

tamaño del byte2=buf[1];

byte[] b1 = nuevo byte[tamaño];

System.arraycopy(buf,2,b1,0,b1.length);

byte[] b2 = nuevo byte[tamaño2];

System.arraycopy (buf ,b1.length+2,b2,0,b2.length);

BigInteger B1 = nuevo BigInteger(b1);

BigInteger B2 = nuevo BigInteger(b2);

p>

RSAPublicKeySpec spec = new RSAPublicKeySpec(B1, B2);// Estos dos enteros grandes se almacenan

KeyFactory keyFactory;

PublicKey pk = null;

prueba {

keyFactory = KeyFactory.getInstance("RSA");

pk = keyFactory.generatePublic(spec);

} catch (Excepción e) {

e.printStackTrace();

}

return (RSAPublicKey)pk;

}

p>

Los datos contenidos en la clave pública son en realidad módulo y publicExponent. Todo se puede expresar como matrices de bytes. Para facilitar la transmisión de red, uní dos matrices de bytes. En realidad, es más fácil entender almacenarlos por separado.