保存图片到本项目data/data下,实现简易照片隐藏功能
2017-04-19 18:22
961 查看
现在项目有个照片加密功能,需要从系统中取出所有照片,通过加密使系统相册以及其他应用无法读取到我加密的图片,具体实现是使用了支持AES加密解密的
言归正传,这篇文章并不是要介绍具体怎么实现加密,而是通过IOS应用内所独有的专属文件夹产生联想,android本身也有每个应用专属的存储地址,data/data大家一定都很熟悉。直接上代码
读取data/data/里你所保存的文件,即可读出你应用“独有”照片,当然卸载应用时,包名下的所有文件都会被系统删除,所以并不建议通过这个方法永久保存文件。只是通过这个方法举一反三,系统数据库中包括 图片,视频,音频都可通过这个方法让你的app“独有”。
CipherInputStream和
CipherOutputStream借助这两个Stream可以实现将加密的图片文件读取成解密后的Bitmap实现。
言归正传,这篇文章并不是要介绍具体怎么实现加密,而是通过IOS应用内所独有的专属文件夹产生联想,android本身也有每个应用专属的存储地址,data/data大家一定都很熟悉。直接上代码
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/DCIM/gif/move.JPG"); //原文件 FileOutputStream out = mContext.openFileOutput("testmove.jpg", mContext.MODE_PRIVATE);//导入到data/data下的新文件
结合上述方法加上java IO流写入,可以将源文件导入到你的包名下data/data/目录下,然后删除原文件,你就会发现,所有应用都无法读到你的图片,然后通过
FileInputStream input = mContext.openFileInput("testmove.jpg"); //读取data/data/ 下的文件
读取data/data/里你所保存的文件,即可读出你应用“独有”照片,当然卸载应用时,包名下的所有文件都会被系统删除,所以并不建议通过这个方法永久保存文件。只是通过这个方法举一反三,系统数据库中包括 图片,视频,音频都可通过这个方法让你的app“独有”。
相关文章推荐
- iphone把图片保存到“照片”功能实现
- Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
- Android应用中保存网络图片功能实现详解
- vue项目实现表单登录页保存账号和密码到cookie功能
- Android实现网络下载图片保存到SD卡的照片文件夹
- 【微信开发笔记】常见的长按保存图片功能的实现方式及清晰度优化方式
- 【JavaScript】基于H5 canvas实现的画板绘图工具(类似你画我猜)——整合颜色选取、保存图片到本地功能
- Android二级缓存加载图片实现照片墙功能
- Android实现拍照,以及从相册选择图片裁剪功能同时保存在本地
- 简单的spring-data集成mongoDB项目,实现crud的功能
- 实现从“环信”下载聊天记录,显示在本地项目页面的功能(三)—— 将解析后的数据保存到本地DB中
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- 二级缓存加载图片实现照片墙功能
- C#实现抓图功能,保存图片
- Web开发之用canvas2image.js将canvas保存为图片(实现页面截图下载功能)
- 使用ajaxfileupload插件实现异步上传并保存图片功能
- canvas保存为data:image扩展功能的实现
- ios实现视频录制功能 三 获取视频、保存到相册、根据视频生成占位图片
- 微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能