我的目標是,如何保護其他音樂播放器在Android的
我需要保護我的音頻文件從其他媒體播放器應用程序MP3播放(音頻)文件。
在我的Android媒體播放器應用程序有選擇下載歌曲。當我保存在我的內部/外部存儲器中時,此音頻需要更安全,此音頻只能通過我的應用播放。所以我試圖加密我的音頻文件並保存爲.txt格式。爲此,我使用這個代碼片斷,
要加密
// Buffer used to transport the bytes from one stream to another
byte[] buf = new byte[1024];
/**
* Encrypt.
*
* @param in
* the in
* @param out
* the out
*/
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) {
Log.e("encrypt - buffer - val", buf + "");
out.write(buf, 0, numRead);
}
out.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
**To Decrypt**
/**
* Decrypt.
*
* @param in
* the in
* @param out
* the out
*/
public void decrypt(InputStream in, OutputStream out) {
try {
// 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) {
Log.e("decrypt - buffer - val", buf + "");
out.write(buf, 0, numRead);
}
out.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
此代碼工作爲我好,可我知道,是任何其他方式acheive我的目標。
保存在'/數據/數據/ your.app.name /'文件夾中的文件,該文件是文件私人到您的應用程序。 – 2015-03-19 10:14:27
@DerGolem:當我將文件保存在這個位置時,其他音頻播放器應用程序能夠列出我的歌曲嗎? – Aerrow 2015-03-19 10:15:45
顯然,不是。但他們也不能列出txt文件。我認爲你必須給這些文件一個自定義的擴展名並將你的應用與該擴展名相關聯。所以只有你的應用程序會列出(並解密)它們。 – 2015-03-19 10:16:52