|
另类文件加密三法
经常有这样的情况,某些文件中存放了一些私人信息,或某些文件夹中存放了一些重要文件,我们希望能够禁止别人查看,或者想将这些文件或文件夹隐藏起来,让别人不知道它的存在。关于加密、隐藏文件和文件夹的方法很多,你也可以使用专门的程序来隐藏和加密文件和文件夹。但下这三种方法不知你是否用过?哪怕你并不想隐藏什么,它也一定能带给你一种新奇的感觉。
用Copy命令来隐藏文本文件
假如你有一篇文档不想让别人看见,请你先将它保存为文本文件(这个文本文件的前面要插入几个空行以免丢失内容),如A.txt,另找一个非文本文件,最好为图片文件或可执行文件,以图片文件为例。假设它的文件名为B.jpg,并把它们都放到D盘根目录下,那么在Windows的MS-DOS方式下执行以下命令:
D:\>Copy B.jpg/b + A.txt/a C.jpg
其中参数/b指定以二进制格式复制、合并文件;参数/a指定以ASCII格式复制、合并文件。这里要注意文件的顺序,二进制格式的文件应放在加号前,文本格式的文件放在加号后。
执行该命令后,生成了一个新文件C.jpg,回到Windows中用图片浏览软件打开这个它,你会发现它与B.jpg的显示结果一模一样,我的文本文件哪里去了呢?别急,请你先单击C.jpg,然后按住Shift键,右单击C.jpg,单击“打开方式”,选择用记事本打开C.jpg,这时你会看到一堆乱码(不然怎么会隐藏文件呢?),按一下Ctrl+End键将光标移至文件的尾部,看是什么?原来我的文本文件乖乖的藏在这儿。
编程来加密所有文件
如果你是一个C语言爱好者,我们还可以用下面的方法来开发我们自己的文件加密法。
在Turbo C2.0 下编写名为jiami.c的如下程序:
#include "stdio.h"
main( int argc,char *argv[ ])
{ FILE *fp1,*fp2;
register char c;
register int j=0,j0=0;
if(argc!=4)
{ printf("jiami keyword in-fname out-fname"); exit();}
fp1=fopen(argv[2],"rb");
fp2=fopen(argv[3],"wb");
while(argv[1][++j0]);
c=fgetc(fp1);
while(!feof(fp1))
{ fputc(c^argv[1][j>=j0?j=0:j++],fp2);
c=fgetc(fp1);}
fclose(fp1);fclose(fp2);
}
然后将其编译成可执行文件jiami.exe,这就是我们的加密程序。假如你要对A.doc文件进行加密。那么只需在Dos提示符下输入如下命令:
jiami 369258147 A.doc a.jmc后(369258147 是我们任意设的密匙),就会生成加密文件A.jmc。现在就可以将原文件A.doc 删除。
当需要使用文件时,可以用以下命令还原:
jiami 369258147 A.jmc A.doc
这种加密法的原理是:将需要加密的文件的数据逐字节读出并与我们设定的密匙(不能含有空格)进行异或运算,结果逐字节存入生成的加密文件;当需要使用原文件时,同样将加密文件逐字节与原设定的密匙进行异或运算,就可以得到原文件。这种方法可加密任何类型的文件。
修改注册表来加密文件夹
注册表是Windows系统的核心,个性化电脑、电脑软硬件的配置、电脑安全等方面的设置都可以通过它的修改来实现,当然我们也可以用它来加密文件夹。这种方法就是,使用某种文件类型的CLSID作为文件夹的扩展名。
所谓CLSID是一个128比特长度的数字,用于唯一标识Windows中的某类资源,其显示形式通常为{0003000D-0000-0000-C000-000000000046}。在注册表的HKEY-CLASSES-ROOT\CLSID注册表项下,存放了Windows中所有的CLSID。我们从CLSID中选择一个CLSID。例如我们选择{00022602-0000-0000-C000-000000000046},该CLSID在CLSID注册表项下,对应着视频剪辑类型的文件。
假设我们要加密的文件夹是“D:\TMP\我的文件”这个文件夹。下面我们就要为其加密。
右单击该文件夹,选“重命名”。将“我的文件”修改为“我的文件.{00022602-0000-0000-C000-000000000046}”。注意“我的文件”和{00022602-0000-0000-C000-000000000046}之间必须有一个小数点。这时“我的文件”这个文件夹不仅变成一个带有视频剪辑图标的文件,而且它的行为也发生了变化:当我们双击它,想打开它时,系统会提示:“出现拒绝常规访问的错误”,而不是正常的显示“我的文件”文件夹下的内容。系统已将它变成了一个普通的文件了。
那我们如何来访问“我的文件”中的内容呢?
好办!只需在MS-DOS方式下,用CD命令进入到该文件夹的父目录下处,即D:\TMP目录,执行DIR命令,就可以看到“我的文件”确实仍然是一个目录,而不是一个文件。只需将所需要的文件用COPY命令拷贝到别的目录,就可以正常使用了。
正在討論的話題:
|
|