Я разрабатываю многоплатформенное приложение, которое будет использовать «стеганографию F5», чтобы скрыть сообщение внутри изображения JPG, снятого с камеры устройства. В настоящее время мои задачи состоят в том, чтобы создать приложение для Android и настольное приложение Java. Я нашел файл jar файла «F5 Steganography» от here Я успешно реализовал библиотеку в настольном приложении Java, но проблема в реализации android. Я импортировал файл jar в проекте Android, но при вложении и извлечении сообщения я столкнулся с проблемами на Android.Стеганография в андроиде с поддержкой поддержки библиотеки Java
- Extract выпуск
На Extract, вопрос я столкнулся в настоящее время является то, что импортируемая библиотека использует «sun.security.provider.SecureRandom», но андроид не может найти его. здесь ошибка входа-кошка:
10-06 22:25:44.324: E/dalvikvm(32150): Could not find class 'sun.security.provider.SecureRandom', referenced from method crypt.F5Random.<init>
Теперь я предполагаю, что Android не поддерживает библиотеку «sun.security.provider.SecureRandom», если это так, то что я должен делать? Можно ли импортировать библиотеку вручную? P.S Я не хочу ничего менять в библиотечном коде F5 Steganography из-за того, что он используется так же, как на платформе Java. Вот код для справки:
public void clk1(View v){
EditText eto=(EditText) findViewById(R.id.editText2);
EditText ett=(EditText) findViewById(R.id.editText3);
Extract e=new Extract();
String information[] = new String[5];
information[0]="-p";
information[1]="123";
information[2]="-e";
information[3]=ett.getText().toString();
information[4]=eto.getText().toString();
e.main(information);
}
- Код Issue
На Embed, я столкнулся вопрос, аналогичный ранее. Ошибка говорит о том, что он не смог найти класс «james.JpegEncoder» в библиотеке, но он присутствует там, как показано в attached image.
Вот лог-кошка след:
10-06 23:00:39.678: E/dalvikvm(410): Could not find class 'james.JpegEncoder', referenced from method main.Embed.main
Вот код для справки:
public void clk0(View v){
EditText eto=(EditText) findViewById(R.id.editText2);
EditText ett=(EditText) findViewById(R.id.editText3);
EditText eti=(EditText) findViewById(R.id.editText1);
Embed e=new Embed();
String information[] = new String[8];
information[0]="-e";
information[1]=ett.getText().toString();
information[2]="-p";
information[3]="123";
information[4]="-q";
information[5]="100";
information[6]=eti.getText().toString();
information[7]=eto.getText().toString();
e.main(information);
}
Что я должен сделать, чтобы противостоять этой проблеме? Я пришел сюда после решения многих вопросов, но застрял здесь. Я искал в Интернете и не мог найти правильное решение, даже отдаленно относящееся к моей проблеме.