folgendes Problem:
Es soll eine IllegalArgumentException geworfen werden, wenn primeA und B keine Primzahl ist oder halt 2 u. 3.
Bekomme aber bei der Ausführung eine NullPointerException. Versteh ich nicht ganz. Fehlt noch etwas bei der main methode? Wenn ich z.B. zwei Primzahlen übergebe, bekomme ich trotzdem diese NulLP...Ex...? Was ist daran Null? Er führt doch dann den RSA Konstruktor mit den Werten und Methoden aus ???:L
Java:
public RSA(BigInteger primaA, BigInteger primeB) throws IllegalArgumentException{
if(primeA.isProbablePrime(-9) && primeB.isProbablePrime(-9) &&
(!primeA.equals(new BigInteger("2")) || !primeA.equals(new BigInteger("3")))
&& (!primeB.equals(new BigInteger("2")) || !primeB.equals(new BigInteger("3")))){
this.primeA = primeA;
this.primeB = primeB;
rsaModulus = calculateRSAModulus();
totient = calculateTotient();
encryptionExponent = chooseEncryptionExponent();
decryptionExponent = calculateDecryptionExponent();
}else{
throw new IllegalArgumentException("Keine Primzahl" + ex.getMessage());
}
}
public static void main(String[] args) {
boolean correct = true;
for (int i = 0; i < 1000; i++) {
BigInteger plainText = BigInteger.valueOf(Math.abs(new Random().nextInt()));
RSA rsa = new RSA(BigInteger.valueOf(Integer.parseInt(args[0])), BigInteger.valueOf(Integer.parseInt(args[1])));
BigInteger cipherText = rsa.encrypt(plainText);
BigInteger newPlainText = rsa.decrypt(cipherText);
if (plainText.equals(newPlainText)) {
} else {
correct = false;
}
}
System.out.println("Korrekt: " + correct);
}
Es soll eine IllegalArgumentException geworfen werden, wenn primeA und B keine Primzahl ist oder halt 2 u. 3.
Bekomme aber bei der Ausführung eine NullPointerException. Versteh ich nicht ganz. Fehlt noch etwas bei der main methode? Wenn ich z.B. zwei Primzahlen übergebe, bekomme ich trotzdem diese NulLP...Ex...? Was ist daran Null? Er führt doch dann den RSA Konstruktor mit den Werten und Methoden aus ???:L
Zuletzt bearbeitet: