java字符数组的加密
时间: 2024-09-25 15:04:45 浏览: 33
在Java中,对字符数组进行加密通常涉及编码算法,如常见的替换式加密、凯撒密码、AES等高级加密标准。这里以简单的凯撒密码为例来说明:
凯撒密码是一种简单的替换加密法,它通过将字母表中的每个字母向右(或左)移动固定位数来进行加密。例如,如果移位数是3,那么'A'会变成'D','B'会变成'E',依此类推。
以下是一个简单的示例,展示如何对字符数组进行凯撒密码加密:
```java
public class CaesarCipher {
private static final int SHIFT = 3; // 移位数
public static char[] encrypt(char[] chars) {
char[] encryptedChars = new char[chars.length];
for (int i = 0; i < chars.length; i++) {
if (Character.isLetter(chars[i])) { // 只处理字母
char shiftedChar = (char)(((chars[i] - 'A' + SHIFT) % 26) + 'A'); // 向右移位
if (Character.isLowerCase(chars[i])) {
encryptedChars[i] = shiftedChar;
} else { // 处理大写字母
encryptedChars[i] = Character.toUpperCase(shiftedChar);
}
} else { // 非字母字符不变
encryptedChars[i] = chars[i];
}
}
return encryptedChars;
}
public static void main(String[] args) {
char[] original = {'H', 'e', 'l', 'l', 'o'};
char[] encrypted = encrypt(original);
System.out.println("Original: " + new String(original));
System.out.println("Encrypted: " + new String(encrypted));
}
}
```
阅读全文