当前位置: 首页 > 知识库问答 >
问题:

消息解码/加密程序输出

汝志
2023-03-14
public static void encode(String message, int shiftKey)
{
    String [] array = message.split("");
    String encoded = "";
    for (String a : array)
    {
        int finalIndex;
        int index = alphabet.indexOf(a);
        finalIndex = index + shiftKey;
        encoded += alphabet.charAt(finalIndex);
    }
    System.out.println(encoded);
}

完整代码

import java.util.*;
import java.io.*;
public class CaesarShiftTester
{
public static void main (String[] args)
{
    boolean running = true;
    while (running){
        Scanner in = new Scanner (System.in);
        System.out.println("Encryption or Decryption? (E/D): " );
        String answer = in.next();

    if (answer.equalsIgnoreCase("e"))
    {
        System.out.println("Enter message: ");
        String message = in.next();
        System.out.println("Enter Shift Key: " );
        int shiftKey = in.nextInt(); 
        CaesarShiftEncryption.encode(message, shiftKey);

        System.out.println("Quit? (Y/N): ");
        String again = in.next();
        if (again.equalsIgnoreCase("Y"))
            running = false;
        else
            running = true;
    }

    else if (answer.equalsIgnoreCase("d"))
    {
        System.out.println("Enter message: ");
        String message = in.next();
        System.out.println("Enter Shift Key: " );
        int shiftKey = in.nextInt();
        CaesarShiftEncryption.decode(message, shiftKey);

        System.out.println("Quit? (Y/N): ");
        String again = in.next();
        if (again.equalsIgnoreCase("Y"))
                running = false;
        else
            running = true;
    }
    }


}
}

\

import java.io.*;
import java.util.*;
public class CaesarShiftEncryption
{
private static final String alphabet = "abcdefghijklmnopqrstuvwxyz";
public static void encode(String message, int shiftKey)
{
    String [] array = message.split("");

    String encoded = "";
    for (String a : array)
    {
        System.out.println(a);

        int finalIndex;
        int index = alphabet.indexOf(a);
        finalIndex = index + shiftKey;
        System.out.println(finalIndex);
        encoded += alphabet.charAt(finalIndex);
    }
    System.out.println(encoded);
}


public static void decode(String message, int shiftKey)
{
    char shifted;
    String encoded = "";
    for (int i = 0; i < message.length(); i ++)
    {
        char nextChar = message.charAt(i);
        shifted = (char)(nextChar - shiftKey);
        encoded += shifted;
    }
    System.out.println("Encoded: " + encoded);  
 } 
 }

共有1个答案

万俟渝
2023-03-14

JDK问题。

考虑使用JDK 8..

在JDK7上,如果进行拆分(“”),拆分函数会在开头添加一个额外的元素

 类似资料:
  • 比如获取电话等功能,信息是加密的,需要解密。 API: $decryptedData = $app->encryptor->decryptData($session, $iv, $encryptedData);

  • 6)当我尝试解密消息时,我得到两个“gpg:[不知道]:无效数据包”消息,解密失败:

  • 使用Python-GnuPG我想 null 不幸的是,加密返回错误: 但它仍然生成加密ASCII铠甲消息,如果解密结果为对象,则bool值为属性,并包含以下属性: 不确定错误发生的确切位置以及如何处理

  • 最近,我一直在尝试教育自己如何使用Vigenere密码进行加密和解密。 我已成功加密该邮件,以下是我为实现加密所采取的步骤: 加密密钥:设置 消息:绝密 步骤1:键的数字表示为18、4、19(使用下表) E:P x k->C是加密函数 D:C x K->P为解密函数 明文:绝密 多谢了。

  • 本文向大家介绍thinkphp微信开发(消息加密解密),包括了thinkphp微信开发(消息加密解密)的使用技巧和注意事项,需要的朋友参考一下 使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,现将分析解决结果做下记录。 分析问题:           解密微信服务器消息老是不成功,下载下微信公众平台官方给出的解密文件和WechatCrypt.class.php

  • 首先,我是编程的新手,所以要温柔。而且,我一直在做这个任务,但没有任何结果。任务是创建一个凯撒密码程序,它加密或解密一个段落最多100个字符。实际上是两个独立的实验室。第一个实验是加密,然后第二个实验是解密。一旦我弄清楚了如何创建加密程序,解密程序应该很简单,因为我可以只进行语义更改来解密而不是加密。无论如何,这是我到目前为止的代码。它通过了他们给我们的5个测试中的4个,但出于某种原因,有一个测试