Android - удаление битов в расшифровке

Я работаю над приложением безопасности, используя собственный метод криптографии, и у меня возникла проблема с расшифровкой сообщений.

Согласно теории, вход должен быть дополнен, чтобы соответствовать требуемому биту для выполнения шифрования. Но дополненные биты остаются даже после расшифровки.

Вот пример:

input (before padding) : q
input (after padding)  : 113 0 0 0 0 0 0 0 (in Bytes)

Затем я выполняю некоторый код:

bytes[] a = encrypt(input);
bytes[] b = decrypt(a);

String output = "";
output = new String(b, "UTF-8");

Вывод на System.out.println ниже:

b      : 113 0 0 0 0 0 0 0
output : q[][][][][][][]

Я понятия не имею, как удалить мягкие биты. В настоящее время я использую функцию ниже:

public String processOutput(String dtxt){
    String result = "";
    int l = dtxt.length();
    for(int i=0;i<l-16;i++) result = result + dtxt.charAt(i);
    for(int i=l-16;i<l;i++){
        if((long)dtxt.charAt(i)!=0){
            result = result + dtxt.charAt(i);
        }
    } return result;
}

Но эта функция будет работать, только если я помещу вывод в строку. Что, если на выходе будет файл (скажем, файл изображения)? Как убрать биты после расшифровки? Пожалуйста помоги.

Ответы на вопрос(0)

Ваш ответ на вопрос