我正在开发一个多平台应用程序,它将使用“F5隐写术”隐藏从设备摄像头捕获的JPG图像内的消息。 目前我的目标是制作一个android应用程序和桌面Java应用程序。 我从here 找到了“F5 Steganography”的jar文件我已经在Java桌面应用程序中成功实现了这个库,但问题出现在android实现中。 我已经在android项目中导入了jar文件,但是在嵌入和提取消息时,我面临着android上的问题。Android中的隐写和原生Java库支持问题
- 提取问题
在提取物,我现在面临的问题是,进口图书馆使用“sun.security.provider.SecureRandom”,但Android是无法找到它。 这里是登录猫错误:
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);
}
- 嵌入问题
在嵌入,我面对类似于之前的问题。错误是说它无法在库中找到“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);
}
我应该怎么做来解决这个问题呢?解决了很多问题之后,我到达了这里,但却陷入了困境。我已经通过互联网进行搜索,甚至找不到与我的问题有关的适当解决方案。