Originariamente inviato da Cool81
Quando provo a decriptare mi lancia questa eccezione:
codice:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: invalid hex digit 'Y'
Dove Y è un carattere della parola da decriptare.
Ho cercato su internet di capire cosa è questa eccezione e quindi di capire se riesco a dare una soluzione, ma niente.
Illuminatemiiiiiiiiiii............................ ...
Questo è dovuto a questa parte di codice:
codice:
private int fromDigit(char ch) {
if (ch >= '0' && ch <= '9')
return ch - '0';
if (ch >= 'A' && ch <= 'F')
return ch - 'A' + 10;
if (ch >= 'a' && ch <= 'f')
return ch - 'a' + 10;
throw new IllegalArgumentException("invalid hex digit '" + ch + "'");
}
Ed è corretto... Y non è un carattere valido per un valore esadecimale (i caratteri validi sono nell'intervallo [0-9,A-F].
Quel metodo viene richiamato dal metodo fromString(), che a sua volta è richiamato proprio nella decrypt().
Perchè nella parola criptata sia uscita una Y, non lo so: non ho guardato la classe, né il suo funzionamento, né ciò che ci si aspetta come output da una chiamata a encrypt().
Ciao.