내 응용 프로그램에서는 많은 비디오 파일을 사용해야합니다. 모든 비디오의 대략적인 크기는 500MB입니다. 따라서 애플리케이션을 설치하고 실행할 때 처음에는 백그라운드에서 비디오를 다운로드 한 다음 해당 비디오를 암호화하여 장치의 SD 카드에 저장 한 후이를 결정해야합니다. 언제 까지나 비디오를 사용할 때 그 비디오를 해독하고 사용합니다. 모든 비디오 파일은 매우 중요하므로 해당 파일의 보안이 매우 중요하기 때문에URL에서 비디오를 암호화하고 암호화 된 비디오를 장치의 SD 카드에 저장하는 방법
내가
내가 비디오를 암호화하는 방법을 찾기 위해 매우 많은 노력 ..이 결정 & ...
SD 카드에 저장마지막으로 아래에 넣은 것을 발견했지만이 코드에서는 PERMISSION DENIED가 발생했습니다.
코드 :이
public class VideoActivity extends Activity
{
VideoView video_view;
MediaController m_controller;
MediaPlayer mplayer;
String[] a = {"1","2","3","4","5","6"};
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
main(a);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void writeToFile(String filename, Object object) throws Exception
{
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try
{
fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory()+"/corebird1.mp4"));
oos = new ObjectOutputStream(fos);
oos.writeObject(object);
oos.flush();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (oos != null)
{
oos.close();
}
if (fos != null)
{
fos.close();
}
}
}
public void main(String[] args) throws Exception
{
//
// Generating a temporary key and stire it in a file.
//
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
writeToFile("secretkey.dat", key);
Log.d("#######key", String.valueOf(key));
//
// Preparing Cipher object for encryption.
//
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, key);
//
// Here we seal (encrypt) a simple string message (a string object).
//
SealedObject sealedObject = new SealedObject("THIS IS A SECRET MESSAGE!", cipher);
//
// Write the object out as a binary file.
//
writeToFile("sealed.dat", sealedObject);
}
}
로그 캣 : u는 어떤이있는 경우
08-10 12:22:32.430: WARN/System.err(338): java.io.FileNotFoundException: /mnt/sdcard/corebird1.mp4 (Permission denied)
08-10 12:22:32.430: WARN/System.err(338): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method)
08-10 12:22:32.459: WARN/System.err(338): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152)
08-10 12:22:32.459: WARN/System.err(338): at java.io.FileOutputStream.<init>(FileOutputStream.java:97)
08-10 12:22:32.459: WARN/System.err(338): at java.io.FileOutputStream.<init>(FileOutputStream.java:69)
08-10 12:22:32.459: WARN/System.err(338): at com.technosoft.video.VideoActivity.writeToFile(VideoActivity.java:71)
08-10 12:22:32.459: WARN/System.err(338): at com.technosoft.video.VideoActivity.main(VideoActivity.java:99)
08-10 12:22:32.459: WARN/System.err(338): at com.technosoft.video.VideoActivity.onCreate(VideoActivity.java:54)
08-10 12:22:32.459: WARN/System.err(338): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-10 12:22:32.459: WARN/System.err(338): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
08-10 12:22:32.459: WARN/System.err(338): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
08-10 12:22:32.470: WARN/System.err(338): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-10 12:22:32.470: WARN/System.err(338): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-10 12:22:32.470: WARN/System.err(338): at android.os.Handler.dispatchMessage(Handler.java:99)
08-10 12:22:32.470: WARN/System.err(338): at android.os.Looper.loop(Looper.java:123)
08-10 12:22:32.470: WARN/System.err(338): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-10 12:22:32.470: WARN/System.err(338): at java.lang.reflect.Method.invokeNative(Native Method)
08-10 12:22:32.470: WARN/System.err(338): at java.lang.reflect.Method.invoke(Method.java:521)
08-10 12:22:32.480: WARN/System.err(338): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-10 12:22:32.480: WARN/System.err(338): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-10 12:22:32.480: WARN/System.err(338): at dalvik.system.NativeStart.main(Native Method)
08-10 12:22:32.480: DEBUG/#######key(338): [email protected]
08-10 12:22:32.510: WARN/System.err(338): java.io.FileNotFoundException: /mnt/sdcard/corebird1.mp4 (Permission denied)
08-10 12:22:32.510: WARN/System.err(338): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method)
08-10 12:22:32.520: WARN/System.err(338): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152)
08-10 12:22:32.520: WARN/System.err(338): at java.io.FileOutputStream.<init>(FileOutputStream.java:97)
08-10 12:22:32.520: WARN/System.err(338): at java.io.FileOutputStream.<init>(FileOutputStream.java:69)
08-10 12:22:32.520: WARN/System.err(338): at com.technosoft.video.VideoActivity.writeToFile(VideoActivity.java:71)
08-10 12:22:32.520: WARN/System.err(338): at com.technosoft.video.VideoActivity.main(VideoActivity.java:116)
08-10 12:22:32.520: WARN/System.err(338): at com.technosoft.video.VideoActivity.onCreate(VideoActivity.java:54)
08-10 12:22:32.520: WARN/System.err(338): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-10 12:22:32.520: WARN/System.err(338): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
08-10 12:22:32.520: WARN/System.err(338): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
08-10 12:22:32.520: WARN/System.err(338): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-10 12:22:32.520: WARN/System.err(338): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-10 12:22:32.520: WARN/System.err(338): at android.os.Handler.dispatchMessage(Handler.java:99)
08-10 12:22:32.520: WARN/System.err(338): at android.os.Looper.loop(Looper.java:123)
08-10 12:22:32.520: WARN/System.err(338): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-10 12:22:32.520: WARN/System.err(338): at java.lang.reflect.Method.invokeNative(Native Method)
08-10 12:22:32.520: WARN/System.err(338): at java.lang.reflect.Method.invoke(Method.java:521)
08-10 12:22:32.530: WARN/System.err(338): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-10 12:22:32.530: WARN/System.err(338): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-10 12:22:32.530: WARN/System.err(338): at dalvik.system.NativeStart.main(Native Method)
모든 몸이 오류에 대한 해결책을 가지고, 다음 ...
을 도와이나하시기 바랍니다 다른 해결책이나 제안을 도울 수 있습니다 ... 그 덕분에 ....
인코딩 비디오를 해독하고 해당 안드로이드를 재생하는 방법도 필요합니다.
모든 신체
당신이보고있는 다른
예, AndroidManifest 파일에서 sd 카드 사용 권한을 추가합니다. –
나는 암호화 및 해독에 대한 아이디어가 없다 ... 내 문제에 대해 더 적합한 방법으로 제안 해 주시겠습니까 ?? –
@Mohit - 암호화 정보를 crypto.stackexchange.com 또는 security.stackexchange.com에서 확인하려는 경우 –