java凯撒密码加密解密
时间: 2023-11-10 17:59:58 浏览: 135
Java中可以实现凯撒密码的加密和解密功能。下面是一个简单的示例代码,展示了如何使用Java实现凯撒密码加密和解密:
```java
public class CaesarCipher {
public static String encrypt(String plaintext, int key) {
StringBuilder ciphertext = new StringBuilder();
for (int i = 0; i < plaintext.length(); i++) {
char ch = plaintext.charAt(i);
if (Character.isLetter(ch)) {
char base = Character.isLowerCase(ch) ? 'a' : 'A';
ch = (char) (((ch - base + key) % 26) + base);
}
ciphertext.append(ch);
}
return ciphertext.toString();
}
public static String decrypt(String ciphertext, int key) {
return encrypt(ciphertext, 26 - key);
}
}
// 使用示例
String plaintext = "Hello, World!";
int key = 3;
String ciphertext = CaesarCipher.encrypt(plaintext, key);
String decryptedText = CaesarCipher.decrypt(ciphertext, key);
System.out.println("加密后的文本:" + ciphertext);
System.out.println("解密后的文本:" + decryptedText);
```
在上述示例中,`encrypt`方法用于对明文进行加密,`decrypt`方法用于解密密文。加密和解密过程都是通过将字母在字母表上向后或向前移动固定的偏移量来实现的。
阅读全文