由于知识体系还未完全学习,功能尚有缺陷,只能完成基本的加密与解密,并且照片与可执行文件得在同一路径。如有bug敬请大佬斧正。
1.运行结果
![](https://img-blog.csdnimg.cn/img_convert/9075c8bdceb9494695b2e3976b2479bd.png)
![](https://img-blog.csdnimg.cn/img_convert/7a0c3a50cdbc40d983447b42810e5a2a.png)
2.代码
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
//函数声明
void pic();
//主函数
int main(int argc, char *argv[])
{
//调用加密函数
pic();
return 0;
}
//加密函数
void pic()
{
char pic[80] = {0};
//输入需要加密的照片
puts("请输入需要加密/解密的照片名:");
gets(pic);
int fd = open(pic,O_RDWR,0664);
char chang1[20] = {0};
char chang2[20] = {0};
//进行加密操作
lseek(fd,0,SEEK_SET);
read(fd,chang1,sizeof(chang1));
lseek(fd,20,SEEK_SET);
read(fd,chang2,sizeof(chang2));
lseek(fd,0,SEEK_SET);
write(fd,chang2,sizeof(chang2));
lseek(fd,20,SEEK_SET);
write(fd,chang1,sizeof(chang1));
close(fd);
puts("加密/解密成功");
}