c语言加密储存,c语言数据加密程序

本文目录一览:

如何用C语言对文件进行加密和解密?

对于加密要求不高的完全可以自己定义规则来进行加密。这种加密是很简单很自由的,例如你在存文件的时候可以将文件中的每个字符都加上一个数,然后读取该文件的时候再每个字符相应地减去那个数,即可实现就简单的加密,这样你储存的文件看上去就是乱码了。只是这个规则太简单,规则你可以自己定,加密与解密对着来就行了。

下面程序用异或操作对文件进行加密和解密

/****************** 设计思路 ******************/

// 根据用户输入的加密/机密密码,

// 每次都拿原文件和密码等长度的一个字符串和密码

// 对应元素异或进行加密/解密

// 另外因为是用异或方法,所以加密和解密就是同一个程序

// 即按照同样的加密即是对文件的解密

#include stdio.h

#include string.h

#include ctype.h

#include conio.h

#include stdlib.h

char filename[256]; // 原文件

char password[256]; // 加密/解密密码

const char filenametemp[] = “temp15435255435325432543.temp”; // 加密/解密中间文件

void inputpass(char *pass); //密码输入以”******”显示

void main() {

FILE *fp; // 加密/解密的文件

FILE *fptemp; // 加密/解密过程临时文件

int pwdlen; // 密码长度

int i = 0; // 计数器

char ch = 0; // 读入的字符

printf(“请输入要加密/解密的文件名(全路径名): \n”);

gets(filename);

if( (fp = fopen(filename, “rb”)) == NULL) {

printf(“找不到文件 %s\n”, filename);

exit(1);

} // if

printf(“请输入要加密/解密的密码: \n”);

inputpass(password);

pwdlen = strlen(password);

if(pwdlen == 0) {

printf(“密码不能为空,加密/解密失败\n”);

exit(1);

} // if

fptemp = fopen(filenametemp, “wb”); // 打开中间文件

while(1) {

ch = fgetc(fp);// 从原文件读入一个字符

if(feof(fp)) { // 已经读到文件尾

break; // 退出循环

}

ch ^= password[i++]; // 对原字符和密码进行异或操作

fputc(ch, fptemp); // 将异或结果写入中间文件

if(i == pwdlen) { // 使得原文件每和密码长度相同的固定长度异或加密

i = 0;

}

} // while

fclose(fp); // 关闭打开原文件

fclose(fptemp); // 关闭打开中间文件

remove(filename); // 删除原文件

rename(filenametemp, filename); // 将中间文件重命名为原文件

printf(“加密/解密成功\n”); // 至此加密/解密成功

}

// 密码输入以”******”显示

void inputpass(char *pass) {

int i = 0;

char c;

while(isprint(c = getch())) {

pass[i++] = c;

// printf(“*”);

}

pass[i] = ‘\0’;

printf(“\n”);

}

c语言 读取完文件加密后如何储存并修改呢 求助

大概的改了一下,有什么问题,再问吧

#include stdio.h

#include stdlib.h

#include math.h

#include string.h

#include conio.h  /*建议加入此头文件,以利于getch()的调用*/

char buffer[100] = {0};

static int c = 1;

int get_text()

{

int i = 0;

char file_name[100] = “a.txt”;

FILE *fp;

if ((fp = fopen(file_name, “r”)) == NULL)

{

fprintf(stderr, “can’t find file %s!\n”, file_name);

return -1;   

}

 

while(i  5)

{

while(1)

{

char ch = fgetc(fp);  

if (ch != EOF)

{

buffer[i++] = ch;

}

else

{

break;   // 到达文件结尾了

}

}

buffer[i] = ‘\0’;  

fclose(fp); 

//printf(“nihao \n”);

printf(“%s\n”, buffer); // 输出结果 

return 0;

}

}

int set_psw(char *psw)

{

int i = 0;

char file_name[100] = “b.txt”;

FILE *fp;

if ((fp = fopen(file_name, “w+”)) == NULL)

{

fprintf(stderr, “can’t find file %s!\n”, file_name);

return -1;   

}

fputs(psw, fp);

fclose(fp); 

return 0;

}

int jiami()

{

char a[256];

int i;

//printf(“请输入要加密的数字\n”);

//scanf(“%s”,a);

if (get_text() != 0)

{

return -1; 

for(i = 0; i = strlen(buffer); i++)

{

a[i] = buffer[i];

}

for(i = 0 ; i  strlen(a); i++)

{

a[i] = a[i] + c;

}

if (set_psw(a) != 0)

{

return -1; 

}

printf(“加密后的密码为: %s。已保存在b.txt文件中。\n”, a);

printf(“***************\n”);

printf(“***************\n”);

return 0;

}

int jiemi()

{

char b[256];

int i; 

scanf(“%s”, b);

for(i = 0 ; i  strlen(b); i++)

{

b[i] = b[i] – c;

}

printf(“解密后的密码为:%s\n”, b);  

printf(“***************\n”);

printf(“***************\n”);

printf(“***************\n”);

return 0;

}

void mima(int c)

{

printf(“设置成功\n”);

printf(“********\n”);

printf(“********\n”);

printf(“********\n”);

}

int main()

{

int a;

while (1)

{

printf(“*************************  0   退出程序     *************************\n”);

printf(“*************************  1   进行加密     *************************\n”);

printf(“*************************  2   进行解密     *************************\n”);

printf(“*************************  3   设置密钥     *************************\n”);

printf(“你要进行的操作是\n”);

scanf(“%d”, a);

switch(a)

{

case 0:

exit(0);

break; // 这里的break是匹配switch的 

case 1:

printf(“请输入要加密的数字\n”);

jiami();

continue; // 这里的continue是匹配while(1)的 

case 2:

printf(“请输入要解密的数字\n”);

jiemi();

continue; // 这里的continue是匹配while(1)的 

case 3:

printf(“请输入四位数密钥\n”);

scanf(“%d”, c);

mima(c);

continue; // 这里的continue是匹配while(1)的 

}

}

}

C语言文件加密

#includestdio.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; 

}

原创文章,作者:CIAB,如若转载,请注明出处:https://www.506064.com/n/147460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CIABCIAB
上一篇 2024-11-01 14:09
下一篇 2024-11-01 14:09

相关推荐

  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 如何用Python统计列表中各数据的方差和标准差

    本文将从多个方面阐述如何使用Python统计列表中各数据的方差和标准差, 并给出详细的代码示例。 一、什么是方差和标准差 方差是衡量数据变异程度的统计指标,它是每个数据值和该数据值…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python购物车程序

    Python购物车程序是一款基于Python编程语言开发的程序,可以实现购物车的相关功能,包括商品的添加、购买、删除、统计等。 一、添加商品 添加商品是购物车程序的基础功能之一,用…

    编程 2025-04-29
  • Python多线程读取数据

    本文将详细介绍多线程读取数据在Python中的实现方法以及相关知识点。 一、线程和多线程 线程是操作系统调度的最小单位。单线程程序只有一个线程,按照程序从上到下的顺序逐行执行。而多…

    编程 2025-04-29

发表回复

登录后才能评论