Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否正确使用for循环、子字符串以及十六进制ascii码到字符的转换?_Java_For Loop_Methods_Substring_Ascii - Fatal编程技术网

Java 是否正确使用for循环、子字符串以及十六进制ascii码到字符的转换?

Java 是否正确使用for循环、子字符串以及十六进制ascii码到字符的转换?,java,for-loop,methods,substring,ascii,Java,For Loop,Methods,Substring,Ascii,我正在尝试创建自己的java加密程序来加密字符串:它接受一个字符串并将每个字符转换为其十六进制ascii表示形式。我的加密是在表示每个字符的十六进制ascii的两个数字的每一侧添加一个随机数和随机字母。这将为每个加密的字符返回一个6个字符的字符串。例如,(help->h->68->3+6+g+1+8+f)我试图使用四个函数(encryptMessage、encryptCharacter、decryptMessage、decryptCharacter)来实现。 我搜索了这个网站,找不到任何对我有帮

我正在尝试创建自己的java加密程序来加密字符串:它接受一个字符串并将每个字符转换为其十六进制ascii表示形式。我的加密是在表示每个字符的十六进制ascii的两个数字的每一侧添加一个随机数和随机字母。这将为每个加密的字符返回一个6个字符的字符串。例如,(help->h->68->3+6+g+1+8+f)我试图使用四个函数(encryptMessage、encryptCharacter、decryptMessage、decryptCharacter)来实现。 我搜索了这个网站,找不到任何对我有帮助的帖子。 您能否帮助我确定为什么无法使用decryptCharacter/decryptMessage方法成功解密邮件?我现在只运行一个字符,它不会返回我最初输入的相同字符。 1.我是否在decryptMessage和decryptCharacter方法中正确使用for循环?2.在方法decryptCharacter中,我是否正确地将ascii十六进制表示形式转换回其各自的字符?如果没有,有人能解释一下我如何更正代码吗

我已将我的程序发布在pastebin上:


感谢您的帮助!我是java新手,我正在尝试编写程序,以便更好地理解如何使用主程序调用的这些方法

在代码中,
DecryptCharacter
方法未正确解密。将随机字符和数字添加到字符十六进制表示形式的每个数字中。 所以,你应该这样做

String hexRep = encryptedCharacter.substring(1, 2) + encryptedCharacter.substring(4, 5) 
而不是

String hexRep = encryptedCharacter.substring(1, 4);
而且

DecryptMessage
方法中存在错误

if条件
if(i>=encryptedText.length()-6){
不起作用,因为它在加密消息的最后6个字符之前总是返回false, 因此,您可以尝试以下内容

if (encryptedText.length() > 0 && encryptedText.length() % 6 == 0) {

不要使用pastebin。在此处发布相关代码。只提供足够的代码来演示问题。请阅读。如果加密有效(您应该能够手动验证),那么您应该在此处发布一个简化的解密程序(最小),使用加密字符串(完成)和预期输出(可验证)进行调用。另外,请在文本中使用段落。那一大块文本很难处理。对不起!我以后会简化并遵循这些指导原则。非常感谢!这是一个很大的帮助。我再也不会使用子字符串和if语句条件如此糟糕了!