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")

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

猜你喜欢

转载自blog.csdn.net/try_zp_catch/article/details/82628229