我输入字符串用开塞密码进行加密输出密文用JAVA怎么写
时间: 2023-06-11 20:05:59 浏览: 85
Java中对字符串进行加密和解密
5星 · 资源好评率100%
下面是一个简单的 Java 代码示例,可以使用开塞密码对输入字符串进行加密:
```java
import java.util.Scanner;
public class CaesarCipher {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要加密的字符串:");
String plaintext = scanner.nextLine();
System.out.print("请输入加密偏移量(0-25):");
int offset = scanner.nextInt();
String ciphertext = encrypt(plaintext, offset);
System.out.println("加密后的密文为:" + ciphertext);
}
public static String encrypt(String plaintext, int offset) {
StringBuilder ciphertext = new StringBuilder();
for (int i = 0; i < plaintext.length(); i++) {
char c = plaintext.charAt(i);
if (Character.isLetter(c)) {
if (Character.isUpperCase(c)) {
c = (char) ('A' + (c - 'A' + offset) % 26);
} else {
c = (char) ('a' + (c - 'a' + offset) % 26);
}
}
ciphertext.append(c);
}
return ciphertext.toString();
}
}
```
代码中的 `encrypt` 方法接受两个参数,分别是要加密的明文字符串和加密偏移量。加密偏移量是一个整数,表示将每个字母向后移动的位数。例如,偏移量为 1 时,字母 A 会被加密成 B,字母 B 会被加密成 C,以此类推。
加密方法中,我们首先创建了一个 StringBuilder 对象,用于存储加密后的密文。然后对明文字符串中的每个字符进行遍历,如果该字符是字母,则根据大小写情况进行加密操作。最终将加密后的字符添加到 StringBuilder 对象中,并将最终的字符串返回。
阅读全文