Java英文字符加解密系统实现教程

引言

在本教程中,我将教会你如何使用Java编程语言实现一个简单的英文字符加解密系统。这个系统可以将输入的明文字符加密为密文字符,同时也可以将密文字符解密为明文字符。这个系统可以用于保护敏感信息,确保只有授权的人员能够阅读。

在开始之前,请确保你已经具备Java编程的基础知识,并且已经安装了Java开发环境(JDK)。

流程图

下面是整个加解密系统的流程图:

graph LR
A[开始] --> B[输入明文字符]
B --> C[加密明文字符为密文字符]
C --> D[输入密文字符]
D --> E[解密密文字符为明文字符]
E --> F[结束]

加密流程

步骤1:输入明文字符

首先,我们需要从用户那里获取需要加密的明文字符。在Java中,我们可以使用Scanner类来实现用户输入的功能。以下是相应的代码:

import java.util.Scanner;

public class EncryptionSystem {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入需要加密的明文字符:");
        String plainText = scanner.nextLine();
    }
}

步骤2:加密明文字符为密文字符

接下来,我们需要将输入的明文字符加密为密文字符。在这个简单的加密系统中,我们可以采用简单的字符位移算法来实现加密。例如,我们可以将明文字符的每一个字母向后移动3个位置,即A变为D,B变为E,以此类推。以下是实现加密算法的代码:

public static String encrypt(String plainText) {
    StringBuilder encryptedText = new StringBuilder();
    
    for (int i = 0; i < plainText.length(); i++) {
        char c = plainText.charAt(i);
        
        if (Character.isLetter(c)) {
            if (Character.isUpperCase(c)) {
                encryptedText.append((char) (((c - 'A') + 3) % 26 + 'A'));
            } else {
                encryptedText.append((char) (((c - 'a') + 3) % 26 + 'a'));
            }
        } else {
            encryptedText.append(c);
        }
    }
    
    return encryptedText.toString();
}

步骤3:输出密文字符

现在,我们已经将输入的明文字符加密为密文字符了。接下来,我们需要将密文字符输出给用户。以下是相应的代码:

System.out.println("加密后的密文字符为:" + encrypt(plainText));

解密流程

步骤4:输入密文字符

现在,我们将学习如何实现解密功能。首先,我们需要获取用户输入的密文字符。以下是相应的代码:

System.out.println("请输入需要解密的密文字符:");
String cipherText = scanner.nextLine();

步骤5:解密密文字符为明文字符

接下来,我们需要将输入的密文字符解密为明文字符。与加密过程相反,我们需要将密文字符的每个字母向前移动3个位置,即D变为A,E变为B,以此类推。以下是实现解密算法的代码:

public static String decrypt(String cipherText) {
    StringBuilder decryptedText = new StringBuilder();
    
    for (int i = 0; i < cipherText.length(); i++) {
        char c = cipherText.charAt(i);
        
        if (Character.isLetter(c)) {
            if (Character.isUpperCase(c)) {
                decryptedText.append((char) (((c - 'A') - 3 + 26) % 26 + 'A'));
            } else {
                decryptedText.append((char) (((c - 'a') - 3 + 26) % 26 + 'a'));
            }
        } else {
            decryptedText.append(c);
        }
    }
    
    return decryptedText.toString();
}

步骤6:输出明文字符

最后,我们已经将输入的密文字符解密为明文字符了。现在,我们需要将明文字符输出给用户。以下是相应的代码:

System.out.println("解密后的明文字符为:" + decrypt