20
Chcę wygenerować 512-bitowy klucz RSA, a następnie zakodować mój klucz publiczny jako ciąg. Jak mogę to osiągnąć?Generowanie pary kluczy RSA i kodowanie prywatne jako ciąg
Chcę wygenerować 512-bitowy klucz RSA, a następnie zakodować mój klucz publiczny jako ciąg. Jak mogę to osiągnąć?Generowanie pary kluczy RSA i kodowanie prywatne jako ciąg
Dla wyjścia jak Hex-String
import java.security.*;
public class Test {
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(512);
byte[] publicKey = keyGen.genKeyPair().getPublic().getEncoded();
StringBuffer retString = new StringBuffer();
for (int i = 0; i < publicKey.length; ++i) {
retString.append(Integer.toHexString(0x0100 + (publicKey[i] & 0x00FF)).substring(1));
}
System.out.println(retString);
}
}
dla wyjścia jako bajt wartości
import java.security.*;
import java.security.*;
public class Test {
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(512);
byte[] publicKey = keyGen.genKeyPair().getPublic().getEncoded();
StringBuffer retString = new StringBuffer();
retString.append("[");
for (int i = 0; i < publicKey.length; ++i) {
retString.append(publicKey[i]);
retString.append(", ");
}
retString = retString.delete(retString.length()-2,retString.length());
retString.append("]");
System.out.println(retString); //e.g. [48, 92, 48, .... , 0, 1]
}
}
Dziękuję bardzo! Jeśli powinienem otrzymać taki wynik [48, -137, -97, 49, 13, 6, 8, 42, -122, 72, -122, -9, 13, 2, 3, 15 4, 0, 3, -132, -115, 0, 48, -127] powinienem użyć metody justString zamiast: retString.append (Integer.toHexString (0x0100 + (publicKey [i] & 0x00FF)). Substring (1)); ?? – Angela
Sprawdź drugą listę kodów. – jitter
Jeśli chcę mieć wyjście w formacie PEM, to jak mam to zrobić? – Yatin