decrypt - rsa encryption in java
¿Cómo convertir el conjunto de bytes a PrivateKey o al tipo PublicKey? (1)
Si tiene un byte [] que representa el resultado de getEncoded () en una clave, puede usar KeyFactory para convertirlo en un objeto PublicKey o un objeto PrivateKey.
byte[] privateKeyBytes;
byte[] publicKeyBytes;
KeyFactory kf = KeyFactory.getInstance("RSA"); // or "EC" or whatever
PrivateKey privateKey = kf.generatePrivate(new PKCS8EncodedKeySpec(privateKeyBytes));
PublicKey publicKey = kf.generatePublic(new X509EncodedKeySpec(publicKeyBytes));
Estoy usando el algoritmo RSA para generar claves públicas y privadas
final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(ALGORITHM);
keyGen.initialize(1024);
final KeyPair key = keyGen.generateKeyPair();
final PrivateKey privateKey=key.getPrivate();
final PublicKey publickey=key.getPublic();
después de eso, estas claves se codifican con el codificador Base64 y se guardan en la base de datos.
Cómo convertir esta cadena codificada a clave privada y pública Escriba en java para descifrar el archivo. al decodificar esta cadena usando Base64Decoder obtendrá una matriz de bytes. cómo convertir esta matriz de bytes a un tipo de clave pública o privada?