gpt4 book ai didi

java - 使用 base64 对字符串值进行编码

转载 作者:行者123 更新时间:2023-12-01 17:41:32 24 4
gpt4 key购买 nike

所以我正在为我的 CSC420 类(class)做家庭作业。教授希望我们使用 java 代码来加密用户输入的两个字符串值。我能够做到,没有真正的问题;主要问题是他给我们的样本输出与我的有所不同,这样我们就可以知道我们是否得到了“正确答案”。我在下面附上了我的代码、我的输出和他的输出;如果有人能告诉我我做错了什么,我将不胜感激。

package Homework;

import static java.nio.charset.StandardCharsets.UTF_8;
import java.util.Base64;
import java.util.Base64.Encoder;
import java.util.Scanner;

public class HW4 {
public static String b64enc(String string) throws Exception {

Encoder encoder = Base64.getEncoder();
byte[] data = string.getBytes(UTF_8);
String encodedString = encoder.encodeToString(data);

return encodedString;
}

public static void main (String [] args) throws Exception {

Scanner scan1 = new Scanner(System.in);
System.out.println("Please enter the first String: ");
String string1 = scan1.nextLine();
System.out.println("Please enter the second string: ");
String string2= scan1.nextLine();
scan1.close();
String encodedString = b64enc(string1 + string2);
System.out.println(encodedString);
}
}

Text[![] ] 1

enter image description here

最佳答案

事实上,你的教授的程序对“hihello”和“hellohi”具有相同的控制值,这一点很特殊;显然,仅仅对字符串进行 Base64 编码(不会删除信息;您可以用它返回原始内容;这就是重点)意味着 2 个不同的输入不可能生成相同的输出。

我断定您一定没有正确阅读说明。您正在寻找一种算法,其中以不同的顺序输入字符串仍然会产生相同的“编码值”。 “连接它们然后对结果进行 Base64 处理”不会。

关于java - 使用 base64 对字符串值进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60515957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com