凯撒密码是将每一个字母向前推移K位。如K=3,则它的每一个明文字符都由其右边第三个(模26)字符代换。如将字母A换作字母D,将字母B换作字母E。用Java编写满足该要求的程序。要求输入RETURN TO ROME 用恺撒密码加密后就成为:UHWXUA WR URPH
时间: 2024-09-08 18:01:45 浏览: 82
凯撒密码是一种非常简单的替换式加密技术,它通过将字母表中的每个字母移动固定数目的位置来进行加密。以下是一个使用Java编写的简单程序,用于实现凯撒密码的加密过程:
```java
public class CaesarCipher {
public static String encrypt(String text, int shift) {
StringBuilder result = new StringBuilder();
for (char c : text.toCharArray()) {
if (Character.isLetter(c)) {
char base = Character.isLowerCase(c) ? 'a' : 'A';
int offset = (c - base + shift) % 26; // 计算偏移量
result.append((char) (base + offset)); // 构建加密字符
} else {
result.append(c); // 非字母字符保持不变
}
}
return result.toString();
}
public static void main(String[] args) {
String plaintext = "RETURN TO ROME";
int shift = 3; // 向前移动3位
String encrypted = encrypt(plaintext, shift);
System.out.println("原文: " + plaintext);
System.out.println("密文: " + encrypted);
}
}
```
当你运行这个程序时,它将输出原文“RETURN TO ROME”和对应的密文“UHWXUA WR URPH”。
阅读全文