android 资源图片加密

android 资源图片加密android中有些重要的图片资源可以选择加密,因为不管是加固还是混淆,资源文件的图片始终能被看到,加密图片步骤1. 创建java项目安作为加密图片的工具,新建一个project,在main方法里调用加密方法,加密方法里传一个路劲,这个路劲是电脑里图片的路劲publicstaticvoidmain(String[]args){//调用加密方法KMD

大家好,又见面了,我是你们的朋友全栈君。

android 中有些重要的图片资源可以选择加密,因为不管是加固还是混淆,资源文件的图片始终能被看到,

加密图片步骤

1.   创建java项目安作为加密图片的工具,新建一个project,在main方法里调用加密方法,加密方法里传一个路劲,这个路劲是电脑里图片的路劲

public static void main(String[] args){
    //调用加密方法
    KMD.encrypt("f:/image.png");
}


public class KMD {
    
    //加密后,会在原图片的路径下生成加密后的图片
    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();
        }
    }

}

2,把加密后的图片放在android assets下

android 资源图片加密
调用getImageFromAssets穿入加密后的图片,然后解密,显示
Bitmap   bitmap= getImageFromAssets(this,"jiamiguodetupian.png");
if(bitmap != null) {
   imageView.setImage(ImageSource.bitmap(bitmap));
} else {
   Log.i(TAG,"图片为空");
   System.out.println("图片为空");
}

public 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;
}

ok ,大功告成!有不懂可以留言。。。。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151963.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号