首页
学习
活动
专区
工具
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参数来改变加密的强度。需要注意的是,这个程序只能处理英文字符,对于其他字符集(如中文、数字等)可能无法正确处理。

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

相关·内容

5分23秒

010_尚硅谷_Scala_在IDE中编写HelloWorld(三)_代码中语法的简单说明

33分30秒

Java零基础-299-多态在开发中的作用

9分4秒

Java零基础-300-总结多态在开发中的作用

10分3秒

65-IOC容器在Spring中的实现

10分28秒

JavaSE进阶-035-接口在开发中的作用

7分46秒

JavaSE进阶-037-接口在开发中的作用

32分47秒

JavaSE进阶-038-接口在开发中的作用

5分55秒

JavaSE进阶-034-接口在开发中的作用

24分57秒

JavaSE进阶-036-接口在开发中的作用

5分36秒

05.在ViewPager的ListView中播放视频.avi

58秒

DC电源模块在通信仪器中的应用

5分48秒

10_尚硅谷JAVA-凯撒加密

领券