以前看过一个 C++的视频, 说的是把文件隐藏到 BMP 位图中。 学了 PHP 之后,( PHP 是世界上最好的语言) 应该也可以完成这个任务。
当然并没有什么实际作用,看看就可以了。
所以就动手做了一个~~~
利用的是 BMP 位图在色道中,每四个字节就有一个字节是无用的,所以就可以把源文件base64
化然后单个拆分存入图片中,再重新生成一张 BMP 位图, 表面上看不出有任何变化。大小如果不超过源文件的 1/4 的话,也是不会有变化的:
比如位图是 5M,需要加密的文件是 1M,当加密后,位图还是 5M,而且已经把需要加密的文件存入位图中
刚开始,可以加密文件,但是解密出来会有很多无用的字符串。
后来 ,当加密文件时,增加了 2 个标记, 一个标记文件名长度,用四个字节存储, 一个标记文件数据长度。用八个字节存储。
这样就可以保证能准确读取多大的数据块。
上点核心代码:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.