我想在这段代码中找到我用于Android项目演示的c,d,p和q参数。
https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Key_distribution
这是我的代码
public class RSA {
private final static String RSA = "RSA";
public static PublicKey puk;
public static PrivateKey prk;
public static void generateKey() throws Exception {
KeyPairGenerator gen = KeyPairGenerator.getInstance(RSA);
gen.initialize(512, new SecureRandom());
KeyPair keyPair = gen.generateKeyPair();
puk = keyPair.getPublic();
prk = keyPair.getPrivate();
}
}
请问如何从此代码中获取这些值?
答案 0 :(得分:2)
我不记得确切的映射,但如果您将公钥和私钥投射到其RSA特定类型,则可以访问所有值:
RSAPublicKey puk = (RSAPublicKey) keyPair.getPublic();
RSAPrivateCrtKey prk = (RSAPrivateCrtKey) keyPair.getPrivate();
System.out.println("p: " + prk.getPrimeP());
System.out.println("q: " + prk.getPrimeQ());
...