我想使用java完成一个凯撒密码的解密与加密系统
时间: 2023-06-12 07:05:32 浏览: 139
好的,凯撒密码是一种简单的密码加密方法,它将明文中的每个字母都按照一个固定的偏移量进行移位,从而生成密文。解密时,只需按照相同的偏移量将密文中的每个字母向反方向移位即可得到明文。
以下是一个使用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 str = scanner.nextLine();
System.out.print("请输入偏移量:");
int offset = scanner.nextInt();
String encryptedText = encrypt(str, offset);
String decryptedText = decrypt(encryptedText, offset);
System.out.println("加密后的字符串:" + encryptedText);
System.out.println("解密后的字符串:" + decryptedText);
}
// 加密方法
public static String encrypt(String str, int offset) {
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length; i++) {
charArray[i] = (char) (charArray[i] + offset);
}
return new String(charArray);
}
// 解密方法
public static String decrypt(String str, int offset) {
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length; i++) {
charArray[i] = (char) (charArray[i] - offset);
}
return new String(charArray);
}
}
```
你可以将上述代码复制到一个Java源文件中,然后使用Java编译器编译并执行它。在程序执行过程中,你需要输入要加密/解密的字符串和偏移量,程序会自动输出加密后的字符串和解密后的字符串。
阅读全文