如何在Android中从WIND(.wnd)文件存储和提取数据

时间:2018-10-26 01:03:12

标签: android

我希望没有人可以复制我的应用的声音文件,因为它已受版权保护。为此,我正在考虑将声音文件(.ogg)存储在wind文件中,并在运行时提取声音文件。

我们该怎么做?

谢谢

1 个答案:

答案 0 :(得分:1)

我不是100%肯定WIND文件是用于音频存储的安全文件类型,所以我基于一个理论:在我早些时候,我使用FFT(快速傅立叶变换)制作了音频数据频谱,这些功能称为“ WIND”类型。

可在此处找到示例:https://github.com/bewantbe/audio-analyzer-for-android/blob/master/audioSpectrumAnalyzer/src/main/java/github/bewantbe/audio_analyzer_for_android/STFT.java

     (...line 74 ...)
     private void initWindowFunction(int fftlen, String wndName) {
         wnd = new double[fftlen];
         switch (wndName) {
             case "Bartlett":
                 for (int i=0; i<wnd.length; i++) {  // Bartlett
                     wnd[i] = asin(sin(PI*i/wnd.length))/PI*2;
                 }
                 break;
             case "Hanning":

如果存储了这些数据,则可能是某种“ wind-file”。 TM Soft“白噪声”的早期版本将文件另存为WND:https://www.tmsoft.com/white-noise/

现在您遇到问题,无法安全存储文件。
Google声明您应该使用文件系统加密:https://developer.android.com/training/articles/security-tips

  

要为敏感数据提供附加保护,您可以加密   使用无法直接访问的密钥的本地文件   应用。例如,您可以将密钥放置在KeyStore中,然后   使用未存储在设备上的用户密码对其进行保护。   虽然这不能保护数据免受可能造成的根本损害   监视用户输入密码,可以为用户提供保护   没有文件系统加密的丢失设备。

我建议您使用以下方法在应用内加密然后解密:https://code.tutsplus.com/tutorials/storing-data-securely-on-android--cms-30558

通过加密文件,即使设备已植根,文件也将是安全的。