凯撒算法加密解密 Java
时间: 2024-04-30 18:16:38 浏览: 173
Java 实现凯撒加密解密
5星 · 资源好评率100%
凯撒密码是一种简单的加密算法,也叫移位密码。它的原理是将明文中的每个字符按照一定的偏移量进行移位,生成密文。解密时,将密文中的每个字符再按照相同的偏移量进行移位,就可以得到原始明文。在Java中,实现凯撒密码的加密和解密可以使用如下代码:
```
public class CaesarCipher {
public static String encrypt(String plaintext, int shift) {
StringBuilder ciphertext = new StringBuilder();
for (int i = 0; i < plaintext.length(); i++) {
char c = plaintext.charAt(i);
if (Character.isLetter(c)) {
c = (char) (((c - 'a') + shift) % 26 + 'a');
}
ciphertext.append(c);
}
return ciphertext.toString();
}
public static String decrypt(String ciphertext, int shift) {
StringBuilder plaintext = new StringBuilder();
for (int i = 0; i < ciphertext.length(); i++) {
char c = ciphertext.charAt(i);
if (Character.isLetter(c)) {
c = (char) (((c - 'a') - shift + 26) % 26 + 'a');
}
plaintext.append(c);
}
return plaintext.toString();
}
}
```
其中,encrypt方法将明文plaintext按照偏移量shift进行移位,并返回生成的密文。decrypt方法将密文ciphertext按照相同的偏移量shift进行移位,并返回还原后的明文。需要注意的是,这里只对英文字母进行了加密解密,对于其他字符需要根据具体需求进行处理。
阅读全文