首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在java中的简单凯撒密码

在Java中,简单的凯撒密码是一种通过移位字母表中的字符来实现加密和解密的方法。以下是一个简单的Java程序,用于实现凯撒密码的加密和解密功能。

首先,我们需要定义一个方法来实现凯撒密码的加密功能:

代码语言:java
复制
public static String encryptCaesarCipher(String input, int shift) {
    StringBuilder encrypted = new StringBuilder();
    for (char c : input.toCharArray()) {
        if (Character.isLetter(c)) {
            int base = Character.isLowerCase(c) ? 'a' : 'A';
            encrypted.append((char) (((c - base + shift) % 26) + base));
        } else {
            encrypted.append(c);
        }
    }
    return encrypted.toString();
}

接下来,我们需要定义一个方法来实现凯撒密码的解密功能:

代码语言:java
复制
public static String decryptCaesarCipher(String input, int shift) {
    StringBuilder decrypted = new StringBuilder();
    for (char c : input.toCharArray()) {
        if (Character.isLetter(c)) {
            int base = Character.isLowerCase(c) ? 'a' : 'A';
            decrypted.append((char) (((c - base - shift + 26) % 26) + base));
        } else {
            decrypted.append(c);
        }
    }
    return decrypted.toString();
}

最后,我们可以在主方法中调用这两个方法来实现加密和解密的功能:

代码语言:java
复制
public static void main(String[] args) {
    String input = "Hello, World!";
    int shift = 3;

    String encrypted = encryptCaesarCipher(input, shift);
    System.out.println("Encrypted: " + encrypted);

    String decrypted = decryptCaesarCipher(encrypted, shift);
    System.out.println("Decrypted: " + decrypted);
}

输出结果:

代码语言:txt
复制
Encrypted: Khoor, Zruog!
Decrypted: Hello, World!

在这个例子中,我们使用了一个简单的凯撒密码来实现加密和解密的功能。我们可以通过调整shift参数来改变加密的强度。需要注意的是,这个程序只能处理英文字符,对于其他字符集(如中文、数字等)可能无法正确处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券