J'ai besoin que l'hex d'un exposant de clé privée RSA soit toujours de longueur fixe, c'est-à-dire 512 octets. Pour cela, l'exposant lui-même devrait avoir entre 2045 et 2048 caractères. Alors que son hexagone sera de longueur 512. Voici le code:Comment générer un exposant de longueur fixe d'une clé privée RSA donnée en Java?
import java.math.BigInteger;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.spec.RSAPrivateKeySpec;
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(2048);
KeyPair kp1 = kpg.genKeyPair();
PrivateKey privateKey1 = kp1.getPrivate();
KeyFactory keyFac = KeyFactory.getInstance("RSA");
RSAPrivateKeySpec pkSpec1 = keyFac.getKeySpec(privateKey1, RSAPrivateKeySpec.class);
BigInteger encPrivateKeyExponent = pkSpec1.getPrivateExponent();
String encPrivateKeyExponentHex = encPrivateKeyExponent.toString(16); // hex of exponent
Le problème que je suis confronté est la suivante: Chaque fois que le code est exécuté, le encPrivateKeyExponentHex varie en longueur (dans la gamme de 509 -512 octets) en fonction de la longueur de encPrivateKeyExponent. J'ai besoin de la longueur hexadécimale pour être exactement 512 octets à chaque fois. Y a-t-il un moyen de garantir cela?
merci pour l'approche et suggestions! Gardera à l'esprit. – Pratap