GGsmida/filefilter
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Linux加密文件系统 最初时写的一个加密算法filter.c,之前错误的以README形式传上来了,现在重传以下,虽然应该是用不到这个了。 这个加密系统要求取本机某硬件的序列号当作密钥,写里个MachineInfo.cpp和MachineInfo.h,功能是获取本机的硬盘序列号和MAC。 写了2个程序,都是用来实现:输入进程号pid,输出进程名pname。因为我们准备将一部分应用程序的进程设为不用输入密钥,而别的程序的进程则需要,所以会用到pname,linux下没找到相关属性,就自己写了2个程序。 其中GetProName.c采用的是从命令行输入命令,把结果输出成文件,在文件中获得的进程名。几乎对所有进程都成功,只有极个别特殊的进程返回空,不成功,用命令行手动输入命令获取进程名同样为空,不成功,不明白为什么,有谁明白的话,还请教我一下。 所以我又重新写了个改进版:getname.c,换了个从 “/proc/pid/status” 文件中读出来的方法,就对所有文件都成功实现了。 aescrypt里是AES加解密算法程序,写好里Makefile文件了,make编译即可,命令使用如下: 1.加密test.txt文件: ./aescrypt -e test.txt 2.提示输入密钥 password 3.加密成功后,会产生一个test.txt.aes文件,内容是加密后的密文,此时,原文件test.txt并未删除。 4.为了显示解密效果,我们暂且删除原文件test.txt。 5.解密test.txt.aes文件: ./aescrypt -d test.txt.aes 6.提示输入密钥 password (前面加密时输入的密钥,可变的,当然项目里是用硬盘序列号或MAC,是固定的) 7.解密成功后,会产生一个test.txt,内容就是加密前的内容,即明文。 说明加、解密成功。