我有一个任务需要解决:在维吉尼亚密码中,我需要取消扫描器和提示。
for(int i = 0; i < text.length(); i++){
int first = text.charAt(i);
for(int j = 0; j < key.length(); j++){
int second = key.charAt(j);
int that = first + (second % 26);
output = output + (char)that;
}
}
我在维吉尼亚密码上的想法是使用一个for循环来捕获明文单词的每个字符。然后再用第二个for循环来捕获关键字中的每个字母。其中,明文“first”将代表字母的原始位置。关键字将代表明文字符的每个单独移位。这种做法可行吗?
second%26
= 25,则first +(second%26)
可能超出范围。 - Maarten Bodewes