C语言文件加密

C语言文件加密,第1张

#include<stdio.h>

int main()

{char ch

 FILE *fp1,*fp2

 fp1=fopen("d:\\file1.txt","r")

 fp2=fopen("d:\\file2.txt","w")

 printf("加密后的内容:\n")

 while((ch=fgetc(fp1))!=EOF)

 {ch^=0x6a putchar(ch) fputc(ch,fp2)}

 fclose(fp1)

 fclose(fp2)

 printf("\n解密后的内容:\n")

 fp2=fopen("d:\\file2.txt","r")

 while((ch=fgetc(fp2))!=EOF)

 {ch^=0x6a putchar(ch)} 

 return 0 

}

文件分为文本文件和二进制文件。加密方法也略有不同。

1、文本文件

加密的主要是文本的内容,最简单的方法就是修改文档的内容,比如1.txt中的文件内容:

abcd

只要给每一个字符+1,就可以实现加密。文件内容即会变为

bcde

2、二进制文件加密

二进制文件加密也就是对应用程序加密,需要理解可执行文件格式,比如Windows平台的Exe文件它是PE结构,Linux上的可执行文件是ELF结构,要对这样的程序进行加密,实际上是开发一种叫做“壳”的程序,这种程序的开发,需要将扎实的底层基础,同时也需要对软件加密解密有细致的理解,比如流行的vmprotect、z壳以及早些年的upx壳、aspack等等。

3、无论哪种加密都牵涉到文件 *** 作的问题,使用C语言进行文件 *** 作时,极少使用C标准库中的I/O函数,大多数使用 *** 作系统提供的内存文件映射相关的API函数,有兴趣,可以搜索相关的资料。


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

原文地址: http://outofmemory.cn/sjk/6687529.html

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

发表评论

登录后才能评论

评论列表(0条)

保存