编写凯撒(CAESAR)密码算法程序java
时间: 2024-10-23 12:09:01 浏览: 37
凯撒密码是一种简单的替换加密技术,它的基本思想是将明文中的每个字母按照固定的偏移量向后移动,形成密文。以下是使用Java编写一个基础的凯撒密码程序的简单示例:
```java
public class CaesarCipher {
public static String encrypt(String plaintext, int shift) {
StringBuilder encryptedText = new StringBuilder();
for (char c : plaintext.toCharArray()) {
if (Character.isLetter(c)) { // 只处理字母字符
char shiftedChar = (c + shift - 'A') % 26 + 'A'; // 对大写字母进行循环移位
if (Character.isLowerCase(c)) {
shiftedChar += 'a' - 'A'; // 如果是小写字母,需要转换偏移
}
encryptedText.append(shiftedChar);
} else {
encryptedText.append(c); // 非字母字符保持不变
}
}
return encryptedText.toString();
}
public static void main(String[] args) {
String original = "Hello, World!";
int shiftAmount = 3;
String encrypted = encrypt(original, shiftAmount);
System.out.println("Original message: " + original);
System.out.println("Encrypted message: " + encrypted);
}
}
```
在这个例子中,`encrypt`函数接受一个字符串和一个偏移值作为输入,对输入的每个字母进行相应的替换。`main`方法演示了如何使用这个函数加密一段文本。
阅读全文