图片,音频,视频的文件加密,解密,保护自身资源

原创 2017年01月03日 18:34:11

       private static String PASSWORD = "123456";     


文件加密方法,支持MP3,jpg,png,wav.rmvb等所有图片,音频,视频格式

亲测可用

/**

*文件路径

*输出路径

*/

public static void unCode(String filePath, String cachePath) {
InputStream is = null;
OutputStream out = null;
try {
File file = new File(filePath);
if (!file.exists()) {
return;
}
File dest = new File(cachePath);
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
is = new FileInputStream(filePath);
out = new FileOutputStream(cachePath);


byte[] buffer = new byte[1024];
byte[] buffer2 = new byte[1024];
byte bMax = (byte) 255;
long size = file.length() - PASSWORD.length();
int mod = (int) (size % 1024);
int div = (int) (size >> 10);
int count = mod == 0 ? div : (div + 1);
int k = 1, r;
while ((k <= count && (r = is.read(buffer)) > 0)) {
if (mod != 0 && k == count) {
r = mod;
}
for (int i = 0; i < r; i++) {
byte b = buffer[i];
buffer2[i] = b == 0 ? bMax : --b;// 文件的每一个byte减1
}
out.write(buffer2, 0, r);
k++;
}
} catch (Exception e) {
} finally {
try {
if (out != null) {
out.close();
}
if (is != null) {
is.close();
}
} catch (Exception e2) {


}
}
}


====================机智的分割线==================================

文件解密方法,亲测可用

两个参数:1.文件路径

                  2.输出路径


public static void enCode(String filePath, String toPath) {
InputStream in = null;
OutputStream out = null;
try {
File file = new File(filePath);
if (!file.exists()) {
return;
}
in = new FileInputStream(filePath);
out = new FileOutputStream(toPath);
byte[] buffer = new byte[1024];
byte[] buffer2 = new byte[1024];
int r;
while ((r = in.read(buffer)) > 0) {
for (int i = 0; i < r; i++) {
byte b = buffer[i];
buffer2[i] = b == 255 ? 0 : ++b;// 文件的每一byte增1
}
out.write(buffer2, 0, r);
out.flush();
}
appendTail(toPath, PASSWORD);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
} catch (Exception e2) {
}
}
}


/**
* 在文件尾添加指定的字符串

* @param fileName
* @param content
*/
private static void appendTail(String fileName, String content) {
try {
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
long fileLength = randomFile.length();
randomFile.seek(fileLength);
randomFile.writeBytes(content);
randomFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 加密/解密音频文件(AES)

加密过程:以byte[]形式读取SD卡上准备好的测试音频文件,使用AES加密算法加密byte[],再保存覆盖原音频文件,此时加密后的音频文件无法被播放。解密和加密过程原理一样。 代码: Voice...
  • u012964281
  • u012964281
  • 2014年12月07日 15:31
  • 5823

Android 加密/解密音频文件(AES)

  • 2014年12月07日 15:37
  • 2.88MB
  • 下载

图片,音频,视频的文件加密,解密,保护自身资源

private static String PASSWORD = "123456";      文件加密方法,支持MP3,jpg,png,wav.rmvb等所有图片,音频,视频格式 亲测可用 ...
  • fkgjdkblxckvbxbgb
  • fkgjdkblxckvbxbgb
  • 2017年01月03日 18:34
  • 376

视频流媒体加密方案

背景: FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。 概述: 方案包括视频加...
  • yue471948812
  • yue471948812
  • 2015年01月04日 12:52
  • 2564

Android应用安全隐患现状,资源文件加密/安全防护进化史

前言     有安全数据显示,2014全年,Android用户感染恶意程序3.19亿人次,平均每天恶意程序感染量达到了87.5万人次。同时,Android应用被破解和盗版等事件也层出不穷。很明显,An...
  • a125138
  • a125138
  • 2015年06月04日 20:42
  • 3442

iOS中使用RNCryptor对资源文件加密

RNCryptor源码https://github.com/RNCryptor/RNCryptor。 基于RNCryptor我做了一个小工具,用来对资源文件先进行加密。(CXYRNCryptorTo...
  • CHENPOLU
  • CHENPOLU
  • 2015年05月30日 19:53
  • 5851

狂牛!视频加密软件&amp;音频加密软件■全能音频视频加密软件【好铭堂】正式版

  • 2010年02月22日 13:37
  • 1.55MB
  • 下载

全能视频加密网络授权解决方案加密端

  • 2009年02月06日 23:14
  • 802KB
  • 下载

unity播放加密的音频文件

首先说一下起因,我这里有需求读书软件要求播放加密的音频文件,所以一般的组件和www加载都不能使用,于是我需要一种新的方案来加载音频文件。于是我找到了一个开源的音频处理类库NAudio来处理MP3和wa...
  • u013824131
  • u013824131
  • 2017年01月07日 23:04
  • 756

c++文件的加密与解密

// FileEncryDecry.cpp : 定义控制台应用程序的入口点。 // /* 利用异或预算对文件进行加密 主要是读取文件中的字符 对每个字符对KEY进行异或运算保存到另外一个文件中 ...
  • u011699990
  • u011699990
  • 2015年11月25日 22:20
  • 3405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图片,音频,视频的文件加密,解密,保护自身资源
举报原因:
原因补充:

(最多只允许输入30个字)