Ошибка Java при получении байтов строки для проверки XOR - PullRequest
0 голосов
/ 01 февраля 2019

Привет. В настоящее время я пытаюсь использовать get Bytes для строки 1 и 2, поэтому я могу выполнить проверку XOR со строкой 1 и модулем длины string2, но я продолжаю выдавать сообщение об ошибке «Строка не может быть преобразована в байты»Этот java-код на самом деле пришел из декомпилированного apk, и файлы dex, преобразованные в jar, затем были просмотрены из jd-gui.Поэтому мне интересно, произошла ли потеря преобразования логического кода в преобразовании ================================================

   public class A {
     //initializing
      public static String a(String paramString1, String paramString2)
      {
        //declaring string 1 and 2


        paramString1 = "i]\rD\004\025\027\004_~\002\006`HZ@UBY\\Ku\002O2\003_MQB\020\007G~\004Q";
        paramString2 = "prodkey";


       //getting the byte of string 1 and 2 


        paramString1 = paramString1.getBytes();
        paramString2 = paramString2.getBytes();

       //XOR check  while iterating through paramstring1 byte array


        int[] arrayOfByte = new int[paramString1.length];
        int i = 0;
        while (i < paramString1.length)
        {
         arrayOfByte[i] = ((byte)(paramString1[i] ^ paramString2[(i % paramString2.length)]));
        i += 1;
        }


   //after this I should be able to see string arrayofByte in this format 
    // "1227a5aa-ce82-4da8-hFba6-c4hFe80hFba720"
        return new String(arrayOfByte);



       }

    }
    ====================================
   I also  tried  converting the  code to python but the byte() function 
   just converts it to utf-8  b'string'  
...