gpt4 book ai didi

java - 我们可以在android中对音频文件使用加密/解密吗

转载 作者:行者123 更新时间:2023-12-01 05:36:28 25 4
gpt4 key购买 nike

我已经对我想要保护的音频文件进行了加密和解密。但解密后,它显示了 MediaPlayer 的一些警告日志,并且 MediaPlayer 也无法工作。

所以我只是想知道加密/解密过程是否损坏了我的音频文件?

这里提到了日志:

11-14 13:41:42.136: W/System.err(17602): java.io.IOException: Prepare failed.: status=0xFFFFFFFC
11-14 13:41:42.136: W/System.err(17602): at android.media.MediaPlayer.prepare(Native Method)
11-14 13:41:42.136: W/System.err(17602): at com.zenagestudios.itaaleemlehra.LessonPlayActivity.startPlayer(LessonPlayActivity.java:293)
11-14 13:41:42.136: W/System.err(17602): at com.zenagestudios.itaaleemlehra.LessonPlayActivity.onClick(LessonPlayActivity.java:446)
11-14 13:41:42.136: W/System.err(17602): at android.view.View.performClick(View.java:2461)
11-14 13:41:42.136: W/System.err(17602): at android.view.View$PerformClick.run(View.java:8890)
11-14 13:41:42.136: W/System.err(17602): at android.os.Handler.handleCallback(Handler.java:587)
11-14 13:41:42.136: W/System.err(17602): at android.os.Handler.dispatchMessage(Handler.java:92)
11-14 13:41:42.136: W/System.err(17602): at android.os.Looper.loop(Looper.java:123)
11-14 13:41:42.136: W/System.err(17602): at android.app.ActivityThread.main(ActivityThread.java:4632)
11-14 13:41:42.136: W/System.err(17602): at java.lang.reflect.Method.invokeNative(Native Method)
11-14 13:41:42.136: W/System.err(17602): at java.lang.reflect.Method.invoke(Method.java:521)
11-14 13:41:42.136: W/System.err(17602): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-14 13:41:42.136: W/System.err(17602): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-14 13:41:42.136: W/System.err(17602): at dalvik.system.NativeStart.main(Native Method)

我已尝试使用相同的代码对示例 XML 文件进行加密/解密,并且该代码对于 XML 文件运行良好。

这是我用于加密/解密的代码:

 public void encrypt(InputStream in, OutputStream out){
try {
// Bytes written to out will be encrypted
out = new CipherOutputStream(out, ecipher);

// Read in the cleartext bytes and write to out to encrypt
int numRead = 0;
while ((numRead = in.read(buf)) >= 0){
out.write(buf, 0, numRead);
}
System.out.println("Database Encrypted");
out.close();
}
catch (java.io.IOException e){
e.printStackTrace();
}
}


public void decrypt(InputStream in, OutputStream out){

try {
//staticdata. dialog = ProgressDialog.show(mContext, "","Loading. Please wait...", false);
// Bytes read from in will be decrypted
in = new CipherInputStream(in, dcipher);

// Read in the decrypted bytes and write the cleartext to out
int numRead = 0;
while ((numRead = in.read(buf)) >= 0) {

out.write(buf, 0, numRead);
}
System.out.println("Database Decrypted");

out.close();
}
catch (java.io.IOException e) {
e.printStackTrace();
}

}

最佳答案

是的,您似乎没有正确加密/解密文件。您可以在一个简单的文本文件上测试您的加密/解密,看看该文件是否完好无损。

关于java - 我们可以在android中对音频文件使用加密/解密吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com