I am developing a multi-platform application which will use the "F5 Steganography" to hide a message inside a JPG image captured from the device's camera. Currently my objectives are to make an android application and desktop Java application. I have found the jar file of "F5 Steganography" from here I have successfully implemented the library in Java desktop application but the problem is coming in android implementation. I have imported the jar file in the android project but in the embedding and extraction of the message, I am facing issues on android.
- Extract issue
On Extract, the issue I am facing now is that the imported library is using "sun.security.provider.SecureRandom" but android is unable to find it. here is log-cat error:
10-06 22:25:44.324: E/dalvikvm(32150): Could not find class 'sun.security.provider.SecureRandom', referenced from method crypt.F5Random.<init>
Now I am guessing that android is not supporting the "sun.security.provider.SecureRandom" library, if it is so, the what should I do? Can I import the library manually? P.S I don't want to change anything in "F5 Steganography" library code due to the fact it is being used as it is on Java platform. Here is the code for reference:
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);
}
- Embed Issue
On Embed, I am facing an issue similar to before. Error is saying that it could not find the "james.JpegEncoder" class in the library, yet it is present there as seen in the attached image.
Here is log-cat trace:
10-06 23:00:39.678: E/dalvikvm(410): Could not find class 'james.JpegEncoder', referenced from method main.Embed.main
Here is the code for reference:
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);
}
What should I do to counter this problem? I have reached here after solving many issues but got stuck here. I have searched through the Internet and could not find a proper solution even remotely relating to my issue.