Gibt es trotzdem kann ich immer den gleichen privaten Schlüssel generieren? Ich müde KeyPairGenerator mit einem RandomSecure Objekt zu initialisieren, die die gleiche seed
verwendet:Generate KeyPair mit RandomSecure
private PrivateKey getPrivateKey(String seed) {
try {
SecureRandom sr = new SecureRandom(seed.getBytes());
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024, sr);
KeyPair keyPair = keyGen.generateKeyPair();
return keyPair.getPrivate();
} catch (NoSuchAlgorithmException e) {
System.out.println("Failed to generate key pair!");
}
return null;
}
ich die obige Funktion aufrufen und prüfen, ob die privaten Schlüssel gleich sind:
String seed = "xyzabc123";
PrivateKey key1 = getPrivateKey(seed);
PrivateKey key2 = getPrivateKey(seed);
boolean same = key1.equals(key2); // false
Sie sind anders, meine Frage Gibt es eine Möglichkeit, immer denselben privaten Schlüssel zu generieren?
Ich denke, der einzige Weg, Benutzerdefinierte Rsa algotihm – xXxpRoGrAmmErxXx
zu erstellen ist, dass Sie 'SecureRandom' bedeuten Sie? – EJP