我正在開發一個多平臺應用程序,它將使用「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);
}
我應該怎麼做來解決這個問題呢?解決了很多問題之後,我到達了這裏,但卻陷入了困境。我已經通過互聯網進行搜索,甚至找不到與我的問題有關的適當解決方案。