Могу ли я вообще всегда генерировать один и тот же закрытый ключ? Я устал инициализировать KeyPairGenerator с помощью RandomSecure, который использует тот же seed
:
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;
}
Я вызываю вышеуказанную функцию и проверяю, совпадают ли закрытые ключи:
String seed = "xyzabc123";
PrivateKey key1 = getPrivateKey(seed);
PrivateKey key2 = getPrivateKey(seed);
boolean same = key1.equals(key2); // false
Они разные, мой вопрос: есть ли способ всегда генерировать один и тот же закрытый ключ?
SecureRandom
? - person user207421   schedule 22.04.2016