无聊啊,陆续把以前做的一些小玩意儿共享一下。由于时间比较长了,那时候设计能力有限,现在也没时间维护,如果发现bug就别用了,望体谅。第一个是叫Secret Bitmap,程序大小88k。下载链接:http://files.cppblog.com/bobquain/SecretBitmap_V1.2.1_CN_Setup.zip以前在CSDN的下载:http://download.csdn.net/source/182295
Secret Bitmap
在位图中隐藏信息
1. 介绍
首先对在位图中隐藏信息的原理做一下简单的介绍:
我以24位位图为例(24位位图即用24位来表示一个像素点颜色的位图),因为就目前来讲用24位位图来隐藏信息是最安全的。大家都知道,世界上任何一种颜色都可以用红,绿,蓝以不同比例调和出来,这三种颜色也通常被人们称为三原色。24位色即用8位来表示红色,8位来表示绿色,8位来表示蓝色。8位即一个字节,用十进制表示的话,最小值为0,最大值为255。我们通常知道,(0,0,0)表示黑色,(255,255,255)表示白色,(255,0,0)表示红色等等。24位色最大可表示2的24次方(即16,777,216)种颜色,这已经超出了人类肉眼可以分辨的颜色。举个例子:人类的肉眼几乎无法分辨白色(255,255,255)和(254,254,254)之间的区别,255表示为二进制是11111111,而254表示为二进制为11111110;其他颜色同理,如果只改变其三原色每个字节中的最后一位的话,人类的肉眼几乎无法分辨。这样一来,我们就可以利用每个像素(3个字节)中每个字节的最后一位来存储一些额外的信息,并且不会增加位图文件的大小,这也就是用位图来隐藏信息的原理。当然,我们也可以多占用一些位来加大隐藏数据的信息量,但是这样也就更容易被人类的肉眼所察觉。但是,请大家注意,利用位图隐藏信息仅仅是一种欺骗,并非什么加密技术,如果需要更安全的保护还需要和加密技术搭配使用。
此款工具在同类工具中的优点是:提供密码加密,数据加密和隐藏位数的选择。在占用位数过多的情况下,比较容易被别人看出位图的瑕疵(如果有原图作为参考会更容易),也就可以怀疑该位图中隐藏了信息。但是,即使这样也没有关系,所有隐藏的数据在隐藏之前已经经过了加密,并且有密码的保护,即使有人分析出了数据,也需要进行解密。所以说它的安全性还是相当高的。
在人们的隐私越来越难保护的今天,也许你正需要它,也许...将来的某天你会需要它。
2. 如何使用
Secret Bitmap的界面比较易懂,参照下图做一下简单介绍:
![](http://www.cppblog.com/images/cppblog_com/bobquain/SecretBitmap.PNG)
1 位图文件:原位图文件。
2 隐藏文件:需要被隐藏的文件。
3 密码:加密用密码输入(采用MD5加密)。
4 密码确认:密码确认的输入。
5 隐藏(带面具):隐藏,点击后打开保存文件的对话框,默认保存名称为原位图的名称。文件保存后,保存路径会被记录下来,下次实施隐藏时默认打开上次的保存路径。(数据加密算法...保密)
6 占用位选择:点击黄色的锁形图案,可打开或关闭占用位。目前可以使用的占用位的数量为1,2或4。
7 位图文件:隐藏了信息的位图文件。
8 密码:解密用密码输入。
9 反隐藏(摘掉面具):反隐藏,点击后打开保存文件的对话框,默认保存名称为原隐藏文件的名称。文件保存后,保存路径会被记录下来,下次实施反隐藏时默认打开上次的保存路径。
10 日志:显示错误和隐藏/反隐藏的结果信息。
3. 改进
对比之前发布的V1.1.0版,V1.2.0主要的改进如下:
1 增加了托拽功能:用户可以从Explorer中托拽文件到[Bitmap File]或[Hidden File]的编辑框中。
2 去掉了指定输出文件夹的功能,替换为直接打开保存文件对话框,使用户更容易在保存文件时修改文件的名称。
V1.2.1的改进如下:
1 修正了显示设定为非96DPI的情况下,占用位选择的锁形图案显示位置不正确的Bug。