Han991212 / hxc_manage

基于SSM的微校园兼职管理系统
1 stars 0 forks source link

mima #2

Open Han991212 opened 1 year ago

Han991212 commented 1 year ago
import java.util.Scanner;

public class VigenereCipher {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入明文:");
        String plainText = scanner.nextLine();

        System.out.print("请输入密钥:");
        String key = scanner.nextLine();

        String encryptedText = encrypt(plainText, key);
        System.out.println("加密结果:" + encryptedText);

        String decryptedText = decrypt(encryptedText, key);
        System.out.println("解密结果:" + decryptedText);
    }

    public static String encrypt(String plainText, String key) {
        StringBuilder encryptedText = new StringBuilder();

        int plainTextLength = plainText.length();
        int keyLength = key.length();

        for (int i = 0; i < plainTextLength; i++) {
            char plainChar = plainText.charAt(i);
            char keyChar = key.charAt(i % keyLength);

            char encryptedChar = (char) ((plainChar + keyChar) % 26 + 'A');
            encryptedText.append(encryptedChar);
        }

        return encryptedText.toString();
    }

    public static String decrypt(String encryptedText, String key) {
        StringBuilder decryptedText = new StringBuilder();

        int encryptedTextLength = encryptedText.length();
        int keyLength = key.length();

        for (int i = 0; i < encryptedTextLength; i++) {
            char encryptedChar = encryptedText.charAt(i);
            char keyChar = key.charAt(i % keyLength);

            char decryptedChar = (char) ((encryptedChar - keyChar + 26) % 26 + 'A');
            decryptedText.append(decryptedChar);
        }

        return decryptedText.toString();
    }
}
Han991212 commented 1 year ago
import java.nio.file.Files;
import java.nio.file.Paths;

public class VigenereCipher {
    public static void main(String[] args) {
        if (args.length < 2) {
            System.out.println("请提供明文和密钥文件路径作为参数");
            return;
        }

        String plainText = args[0];
        String keyFilePath = args[1];

        try {
            String key = readKeyFromFile(keyFilePath);

            String encryptedText = encrypt(plainText, key);
            System.out.println("加密结果:" + encryptedText);

            String decryptedText = decrypt(encryptedText, key);
            System.out.println("解密结果:" + decryptedText);
        } catch (Exception e) {
            System.out.println("发生错误:" + e.getMessage());
        }
    }

    public static String encrypt(String plainText, String key) {
        // 加密逻辑
        // ...
    }

    public static String decrypt(String encryptedText, String key) {
        // 解密逻辑
        // ...
    }

    public static String readKeyFromFile(String keyFilePath) throws Exception {
        byte[] keyBytes = Files.readAllBytes(Paths.get(keyFilePath));
        return new String(keyBytes).trim();
    }
}