Android 游戏引擎libgdx 图片简单加密解密 生成Pixmap
2012-04-24 08:44
495 查看
Android的APK只要解压缩就可以得到里面的资源文件,这显得有些过于开放了。
很多时候我们发现一些厂家的产品都将资源文件进行了处理,即加密了。
接下来我们就对图片文件进行简单加密解密操作。
一、准备一张图片,因为是在libgdx中使用,所以长宽必须是2的幂次方。
二、简单异或加密
三、加密后的图片我们将无法再预览。我们可以将图片的扩展名改成dat,进一步的混淆。
四、解密并显示
解密与加密相同,都是每字节异或密码。
byte[] bs = new byte[76583];
这里我们需要自定义内存大小,查看文件的属性,查看大小。
五、查看源码 DwinterGdxDemo01
导入后请注意更改引用包
很多时候我们发现一些厂家的产品都将资源文件进行了处理,即加密了。
接下来我们就对图片文件进行简单加密解密操作。
一、准备一张图片,因为是在libgdx中使用,所以长宽必须是2的幂次方。
二、简单异或加密
String fileName = "image.jpg";//图片名称 String key = "test";//密码 RandomAccessFile raf = null; try { raf = new RandomAccessFile(fileName, "rw"); int value = -1; while ((value = raf.read()) != -1) { long pointer = raf.getFilePointer(); raf.seek(pointer - 1); raf.write(value ^ key.hashCode()); //每个字节异或密码,请保证解密时密码前后相同 } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { raf.close(); } catch (Exception e) { e.printStackTrace(); } }
三、加密后的图片我们将无法再预览。我们可以将图片的扩展名改成dat,进一步的混淆。
四、解密并显示
public void Load(){ String key = "test"; InputStream is = null; int value = -1; byte[] bs = new byte[76583]; int cx = 0; try { is = this.getAssets().open("image.dat"); while ((value = is.read()) != -1) { bs[cx] = (byte) (value ^ key.hashCode()); cx++; } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } pixmap = new Pixmap(bs, 0, bs.length); }
解密与加密相同,都是每字节异或密码。
byte[] bs = new byte[76583];
这里我们需要自定义内存大小,查看文件的属性,查看大小。
五、查看源码 DwinterGdxDemo01
导入后请注意更改引用包
相关文章推荐
- Android 游戏引擎libgdx 图片简单加密解密 生成Pixmap
- android andengine游戏引擎中图片资源的加密
- 【Android LibGDX游戏引擎开发教程】第06期:图形图像的绘制(下)图片整合工具的使用
- 【Android LibGDX游戏引擎开发教程】第06期:图形图像的绘制(下)图片整合工具的使用
- Android简单的加密解密处理
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- 【Android LibGDX游戏引擎开发教程】第04期:各个模块的详细介绍
- 【Android LibGDX游戏引擎开发教程】第09期:动画类的使用
- Android开发_libgdx游戏引擎教程外篇 优美的自定义进度条 (八)
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- Android 游戏引擎libgdx之Box2D 案例实践——弹球
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- android imageloader加密解密图片
- libgdx引擎-android游戏开发(三)
- Android游戏引擎libgdx使用教程1:搭建libgdx环境
- Android 游戏引擎libgdx 如何添加Admob、多盟类广告条
- Android 游戏引擎libgdx AssetManager自定义AssetLoader以及加载方式
- 简单的对图片文件进行加密解密
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!