Я наткнулся на этот код:
Byte Vigenere Cipher, ошибка при расшифровке
Но, пытаясь следовать правилам, я задал новый вопрос об этом.
Используется следующий алгоритм, и я пытаюсь лучше понять его:
Byte[] result= new Byte[plaintext.Length];
key = key.Trim().ToUpper();
int keyIndex = 0;
int keylength = key.Length;
for (int i = 0; i < plaintext.Length; i++)
{
keyIndex = keyIndex % keylength;
int shift = (int)key[keyIndex] - 65;
result[i] = (byte)(((int)plaintext[i] + shift) % 256);
keyIndex++;
}
Правильно ли я думаю, что ключ нужно обрезать, как в Unicode? следовательно, вычитание 65 из капитала дает общий символ/символ?
(int)key[keyIndex] - 'A'
. - person usr   schedule 25.11.2012