私はいつも同じ秘密鍵を生成できますか?私は同じseed
を使用していますRandomSecureオブジェクトにKeyPairGeneratorを初期化疲れ:RandomSecureでKeyPairを生成
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
彼らは、私の質問異なっています常に同じ秘密鍵を生成する方法はありますか?
私は唯一の方法はカスタムRsaを作成することだと思うalgotihm – xXxpRoGrAmmErxXx
あなたは 'SecureRandom'を意味するのですか? – EJP