example encrypt decrypt code cipher and java cryptography private-key public-key jce

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?