CBC с использованием DES (расшифровать) - PullRequest
0 голосов
/ 19 марта 2019

Добрый день. Возникла проблема, и я не могу понять, с чем это связано. У меня есть зашифрованная строка, где первые 4 байта имеют размер. Как правильно расшифровать эту строку? строка для расшифровки:

0x00, 0x00, 0x00, 0x28, 0x70, 0x76, 0x65, 0x25, (байт) 0xe0,0x2c, 0x6e, 0x5f, 0x36,0x69,0x7, (байт) 0xb8, (байт) 0xDE, 0x30,0x6d, 0x56, (байт) 0xa3,0x53,0x6d, (байт) 0x8d, 0x1c , 0x7e, (байт) 0xed

Вот мой код:

byte[] keyBytes = new byte[]{0x00, 0x00, 0x00, 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,


                (byte) 0x00};

        byte[] SourceByte = new byte[]{0x70, 0x76, 0x65, 0x25,(byte)0xe0,0x2c,0x6e,0x5f,0x36,0x69,0x7,(byte)0xb8,(byte)0xde,0x30,0x6d,0x56,(byte)0xa3,0x53,0x6d,(byte)0x8d,0x1c,0x7e,(byte)0xed};



        byte[] ivBytes = new byte[]{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};


        SecretKeySpec pKey = new SecretKeySpec(keyBytes, "DES");

        IvParameterSpec ivectorSpecv = new IvParameterSpec(ivBytes);

        Cipher c = Cipher.getInstance("DES/CBC/PKCS7Padding", "BC");

дешифрование:

int len = 40;
c.init(Cipher.DECRYPT_MODE, pKey, ivectorSpecv);
byte[] plainText = new byte[c.getOutputSize(len)];
int ptLength = c.update(SourceByte, 0, len, plainText, 0);
ptLength += c.doFinal(plainText, ptLength);
System.out.println("plain : " + new String(plainText) + " bytes: " + ptLength);

Ошибка:

ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.example.jone1.navigation_drawer, PID: 7240 java.lang.RuntimeException: Невозможно начать деятельность ComponentInfo {com.example.jone1.navigation_drawer / com.example.omen.serverforcofe.MainActivity}: java.lang.IllegalArgumentException: неверные аргументы в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2665) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2726) на android.app.ActivityThread.-wrap12 (ActivityThread.java) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1477) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:154) на android.app.ActivityThread.main (ActivityThread.java:6119) в java.lang.reflect.Method.invoke (родной метод) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:886) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776) Вызвано: java.lang.IllegalArgumentException: неверные аргументы at javax.crypto.Cipher.update (Cipher.java:1829) в com.example.omen.serverforcofe.MainActivity.onCreate (MainActivity.java:128) на android.app.Activity.performCreate (Activity.java:6679) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1118) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2618) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2726) на android.app.ActivityThread.-wrap12 (ActivityThread.java) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1477)на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:154) на android.app.ActivityThread.main (ActivityThread.java:6119) в java.lang.reflect.Method.invoke (родной метод) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:886) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:776) 03-19 09: 24: 41.970 1613-2258 / system_process W / ActivityManager: Force отделочная деятельность com.example.jone1.navigation_drawer / com.example.omen.serverforcofe.MainActivity 03-19 09: 24: 42.181 2316-2327 / com.google.android.gms I / art: Background Развертывание липкой параллельной метки GC освободил 12310 (933KB) объектов AllocSpace, 9 (180 КБ) объектов LOS, 23% свободного, 6 МБ / 9 МБ, приостановлено 9.592 мс 194,520мс 03-19 09: 24: 42,220 1295-1346 /? D / gralloc_ranchu: gralloc_alloc: формат 1 и использование 0x900 подразумевает создание цвета хоста буфер 03-19 09: 24: 42.232 1613-3805 / system_process I / OpenGLRenderer: Инициализированный EGL, версия 1.4 03-19 09: 24: 42.233 1613-3805 / system_process D / OpenGLRenderer: поведение свопинга 1 03-19 09: 24: 42.234 1613-3805 / system_process W / OpenGLRenderer: Не удалось выберите конфигурацию с помощью EGL_SWAP_BEHAVIOR_PRESERVED, повторив попытку без ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...