我正在尝试使用RSA创建一个小的消息系统来加密消息,但是由于某些原因,该代码无法识别KeyPairGenerator类,因此我一开始就陷入了困境。
到目前为止,如Internet上的许多示例所示,我的代码是:
public class RSA {
private KeyPairGenerator key_par_gen = null;
private KeyPair kp = null;
private PublicKey publicKey = null;
private PrivateKey privateKey = null;
private KeyFactory factory_rsa = null;
private RSAPublicKeySpec pub = null;
private RSAPrivateKeySpec priv = null;
public RSA(){
setKey_par_gen();
setKp(); //No error here
}
public void setKey_par_gen() {
this.key_par_gen = new KeyPairGenerator.getInstance("RSA");
//Error: Description Resource Path Location Type
// KeyPairGenerator.getInstance cannot be resolved to a type RSA.java /RSA - Cloud/src line 41 Java Problem
}
public void setKp() {
this.kp = getKey_par_gen().genKeyPair();
}
//....
}
我已经更新到最新的Java版本,打开了KeyPairGenerator声明,并且该声明以及声明的函数和所有函数都在其中。
也不能来自IDE,因为我尝试了Intellij,Eclipse和Netbeans。
不知道我在这里想念的是什么。任何帮助表示赞赏。
最佳答案
您正在尝试实例化不存在的嵌套类KeyPairGenerator.getInstance
:
this.key_par_gen = new KeyPairGenerator.getInstance("RSA");
// Error: KeyPairGenerator.getInstance cannot be resolved to a type
相反,您需要调用
getInstance()
的静态KeyPairGenerator
方法-只需删除new
:this.key_par_gen = KeyPairGenerator.getInstance("RSA");
关于java - KeyPairGenerator无法解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33824266/