java编程实现字母加密
时间: 2024-10-17 08:09:49 浏览: 13
在Java编程中,字母加密是一种简单的文本处理技术,通常用于创建密码或其他保密信息。常见的字母加密方法如凯撒密码(Caesar Cipher)就是一个例子,它通过将字母按照固定位移来进行替换。例如,如果位移值是3,那么A会变成D,B变成E,以此类推。
以下是一个简单的Java实现凯撒密码的例子:
```java
public class CaesarCipher {
private int shift;
public CaesarCipher(int shift) {
this.shift = shift;
}
// 加密函数
public String encrypt(String input) {
StringBuilder encryptedText = new StringBuilder();
for (char c : input.toCharArray()) {
if (Character.isLetter(c)) {
char lowerCase = Character.toLowerCase(c);
char shiftedChar = (lowerCase + shift - 'a') % 26 + 'a';
encryptedText.append(Character.toUpperCase(shiftedChar));
} else {
encryptedText.append(c); // 非字母字符保持原样
}
}
return encryptedText.toString();
}
// 可选的解密函数
public String decrypt(String encryptedInput) {
return encrypt(encryptedInput, -shift); // 使用相反的位移进行解密
}
// 解密函数
public String encrypt(String input, int shift) {
return encrypt(input).replaceFirst("ABCDEFGHIJKLMNOPQRSTUVWXYZ", "ABCDEFGHIJKLMNOPQRSTUVWXYZ".substring(shift) + "ABCDEFGHIJKLMNOPQRSTUVWXYZ".substring(0, shift));
}
}
```
在这个示例中,`encrypt`方法接收输入字符串并返回加密后的结果,`decrypt`则是解密操作。用户可以根据需要设置位移值进行加密或解密。
阅读全文