2015-03-19 69 views
1

我的目標是,如何保護其他音樂播放器在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我的目標。

+0

保存在'/數據/數據/ your.app.name /'文件夾中的文件,該文件是文件私人到您的應用程序。 – 2015-03-19 10:14:27

+0

@DerGolem:當我將文件保存在這個位置時,其他音頻播放器應用程序能夠列出我的歌曲嗎? – Aerrow 2015-03-19 10:15:45

+0

顯然,不是。但他們也不能列出txt文件。我認爲你必須給這些文件一個自定義的擴展名並將你的應用與該擴展名相關聯。所以只有你的應用程序會列出(並解密)它們。 – 2015-03-19 10:16:52

回答

0

創建一個名爲該文件夾,你必須音頻files.This在「.nomedia」將保護

+0

如果他們使用'MediaScannerConnection'並直接指定文件,則不行嗎? http://developer.android.com/reference/android/media/MediaScannerConnection.html – 2015-03-19 11:23:34

相關問題