如何在Java中存储十六进制编码的密文

如何在Java中存储十六进制编码的密文,java,encryption,Java,Encryption,我的任务是查找秘密消息,我相信我必须对不同的密文进行异或运算,但我不知道如何在Java中将密文存储在变量中 我找不到如何存储密文消息。我想我会通过声明它为字符串来实现(显然是错误的) String firstmessage=“315C4EEAA8B5F8AAF9174145BF43E1784B8FA00DC71D885A804E5EE9FA40B16349C146FB778CDF2D3AFF021DFF5B403B510D0455468AEB98622B13DAE857553CCD8883A7B

我的任务是查找秘密消息,我相信我必须对不同的密文进行异或运算,但我不知道如何在Java中将密文存储在变量中

我找不到如何存储密文消息。我想我会通过声明它为字符串来实现(显然是错误的)

String firstmessage=“315C4EEAA8B5F8AAF9174145BF43E1784B8FA00DC71D885A804E5EE9FA40B16349C146FB778CDF2D3AFF021DFF5B403B510D0455468AEB98622B13DAE857553CCD8883A7BC37520E06E515D2954EBA025B5B8CC57418CE7DC6BC6BBCA3E8774301FB03B83B22095607815F652864700F39E”

如何在Java中存储此值?

奇怪的是,Java仍然没有将十六进制解码器打包在处理字节等的主包中。最好的方法是使用十六进制解码器之一、或内部类


当然,如果您愿意,也可以使用内部方法,但它位于
javax
中一个不相关的XML包中。否则,您可以使用定义的其他方法。

您知道字符串文本放在双引号之间吗?除此之外,您还需要将密码文本转换为某些位,即,您需要将其存储在字节数组中
byte[]
。如何将其存储为字节数组?通过声明byte[]firstmessage=byte[]。数组中有多少个元素?如何使用for循环初始化数组中的元素?如果输入是十六进制字符串,则每个字符代表4位,一个
字节可以容纳8位。因此,对于长度为
n
的文本,您需要一个长度为
n/2
的字节数组,有关如何进行转换的信息,请参见本文。好的,您需要在结尾处使用分号。但是上面应该存储值。。。作为字符串文本。在那之后,你需要知道你打算用它做什么。编写一个简单的字符十六进制到字节数组转换器对你来说是一个很好的教育经验。好吧,他似乎不需要十六进制编码器,Long.parseLong(String,int)可以将字符十六进制解析成长值。我们只需要围绕它构建一个循环。@HotLicks“我找不到如何存储密文消息”…到XOR。你怎么会得出结论,那应该是一个长值的十六进制解码器+简单的打字错误,谢谢你的否决票。