用vc实现对文件夹加密

用vc实现对文件夹加密,第1张

vc?这是个C的

可以修改下。

文件夹加密不会。只有文件加密的,呵呵。个人觉得这个写的还不错

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<string.h>

void dofile(char *in_fname,char *pwd,char *out_fname)/*对文件进行加密的具体函数*/

void main(int argc,char *argv[])/*定义main()函数的命令行参数*/

{

char in_fname[30]/*用户输入的要加密的文件名*/

char out_fname[30]

char pwd[8]/*用来保存密码*/

if(argc!=4){/*容错处理*/

printf("\nIn-fname:\n")

gets(in_fname)/*得到要加密的文件名*/

printf("Password:\n")

gets(pwd)/*得到密码*/

printf("Out-file:\n")

gets(out_fname)/*得到加密后你要的文件名*/

dofile(in_fname,pwd,out_fname)

}

else{/*如果命令行参数正确,便直接运行程序*/

strcpy(in_fname,argv[1])

strcpy(pwd,argv[2])

strcpy(out_fname,argv[3])

dofile(in_fname,pwd,out_fname)

}

}

/*加密子函数开始*/

void dofile(char *in_fname,char *pwd,char *out_file)

{

FILE *fp1,*fp2

register char ch

int j=0

int j0=0

fp1=fopen(in_fname,"rb")

if(fp1==NULL){

printf("cannot open in-file.\n")

exit(1)/*如果不能打开要加密的文件,便退出程序*/

}

fp2=fopen(out_file,"wb")

if(fp2==NULL){

printf("cannot open or create out-file.\n")

exit(1)/*如果不能建立加密后的文件,便退出*/

}

while(pwd[++j0])

ch=fgetc(fp1)

/*加密算法开始*/

while(!feof(fp1)){

fputc(ch^pwd[j>=j0?j=0:j++],fp2)/*异或后写入fp2文件*/

ch=fgetc(fp1)

}

fclose(fp1)/*关闭源文件*/

fclose(fp2)/*关闭目标文件*/

}

/*程序结束*/

“任意名称”+“.”“系统中已注册的CLSID”

这样命名的文件夹都不是普通文件夹图标。

删除不了是因为有那个“..”子文件夹,它的名称是不被资源管理器允许的,所以无法进行 *** 作。

dos下可以删除,只不过你的方法不对。可能是rd

/s

/q

..\

总之这样的加密太好破解叻。不用资源管理器,用个第三方文件查看器即可破解。

比如Total

commander

,或者ARK工具比如Xuetr。

有问题请补充。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12031903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存