C语语言言实实现现任任何何文文件件的的加加密密解解密密功功能能
本文实例为大家分享了C语言实现文件加密解密功能的具体代码,供大家参考,具体内 如下
使用命令提示符,实现任何文件的加密和解密功能。
代码如下:
//#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#p agma wa ning(disable:4996)
//加密
void Enc yption(cha *p, size_t n)
{
fo (int i = 0; i < n;++i)
{
*p += 7;
}
}
//解密
void Dec ypt(cha *p, size_t n)
{
fo (int i = 0; i < n;++i)
{
*p -= 7;
}
}
cha *EnO De = {0};
int main(int a gc, cha *a gs[])
{
clock_t c1 = clock();//系统当前时间,毫秒为单位
cha *FileNameS c = (cha *)calloc(160, sizeof(cha ));//待操作文件
cha *p2 = (cha *)calloc(200, sizeof(cha ));//操作后文件名
//从命令行获取文件名和要处理的操作
FileNameS c = a gs[1];//文件名,包含路径
cha *p1 = a gs[1];
EnO De = a gs[2];//en表示加密,de表示解密
/*FileNameS c = "E:\\iPhone6-new.txt" ;
cha *p1 = FileNameS c;
EnO De = "de";*/
/**********处理生成新的文件名***********/
//cha *p2 = { 0 };
/*FileNameS c = p1;*/
//p intf("%s\n", FileNameS c);
//p intf("%s\n", EnO De);
int index = 0;
while (*p1)
{
if (*p1!='.')
{
*p2 = *p1;
p2++;
p1++;
index++;
}
else if (*p1 == '.')
{
*p2 = '_ ';
p2++;
*p2 = 'H';
p2++;
*p2 = '.';
p2++;
p1++;
index+=2;
}
}
p intf("\n");
p intf("信息摘要:\n");
p intf("\n");
p intf("原文件:%s\n", FileNameS c);
p intf("操作:%s (en――加密,de――解密)\n", EnO De);
p intf("预计结果文件:%s\n", p2 - index - 1);
p intf("\n\n");
p intf("请稍后,玩命处理中\n");
cha *FileNameDst = p2 - index - 1;
FILE *p = fopen(FileNameS c, " b");
FILE *pw = fopen(FileNameDst, "wb");
st uct stat st = { 0 };
size_t fileSize = st.st_size;//以字节为单位
//cha *buf = NULL;
//if (file