Я пытаюсь расшифровать шифрование с помощью метода java, однако мой код, похоже, не возвращается правильно. Я попытался отменить процесс шифрования, но я не вижу, что я делаю неправильно. Извините, я надеюсь, что это не глупый вопрос.
public void decrypt()
{
String cipherText = this.message;
String key = this.KEY;
String alphabet = "abcdefghijklmnopqrstuvwxyz";
int alphabetSize = alphabet.length();
int textSize = cipherText.length();
int keySize = key.length();
StringBuilder decryptedText = new StringBuilder(textSize);
for (int i = 0; i < textSize; i++)
{
char encyrptChar = cipherText.charAt(i); // get the current character to be shifted
char keyChar = key.charAt(i % keySize); // use key again if the end is reached
int plainPos = alphabet.indexOf(encyrptChar); // plain character's position in alphabet string
// decrypt the input text
int keyPos = alphabet.indexOf(keyChar); // key character's position in alphabet
int shiftedPos = plainPos-keyPos;
shiftedPos += alphabetSize;
decryptedText.append(alphabet.charAt(shiftedPos));
}
this.message = decryptedText.toString();
}
z
. - person John Dvorak   schedule 15.11.2012