Android 资源文件图片加密

首先,使用java把图片加密;


	// 加密后,会在原图片的路径下生成加密后的图片
	public static void encrypt(String filePath) {
		byte[] tempbytes = new byte[5000];
		try {
			InputStream in = new FileInputStream(filePath);
			OutputStream out = new FileOutputStream(filePath.subSequence(0, filePath.lastIndexOf(".")) + "2.png");
			while (in.read(tempbytes) != -1) {// 简单的交换
				byte a = tempbytes[0];
				tempbytes[0] = tempbytes[1];
				tempbytes[1] = a;
				out.write(tempbytes);// 写文件
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
//调用加密方法
KMD.encrypt("D:/connectus.png");

 

然后把生成的图片放在assets文件夹下;

 

代码调用;

 

public static Bitmap getImageFromAssets(Context context, String fileName) {
        Bitmap image = null;
        AssetManager am = context.getResources().getAssets();
        try {
            InputStream is = am.open(fileName);
            byte[] buffer = new byte[1500000];//足够大
            is.read(buffer);
            for(int i=0; i<buffer.length; i+= 5000){//与加密相同
                byte temp = buffer[i];
                buffer[i] = buffer[i+1];
                buffer[i+1] = temp;
            }
            image = BitmapFactory.decodeByteArray(buffer, 0, buffer.length);
            if (is!=null){
                is.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return image;
    }

 

 

Bitmap bitmap = getImageFromAssets(this,"to.png")

 

原地址给忘记了,不好意思哈,找到之后再加上去。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值