点击上方“学士科技”,选择“设为星标”
资讯、技术干货第一时间送达!
C语言基础合集,点我点我~~~
C语言进阶合集,点我点我~~~
C语言高级 ☟ ☟ ☟
在项目开发中,为了防止一些敏感信息的泄露,通常我们会对这些信息进行加密,比如用户的登录密码,如果不加密直接进行明文存储的话,就很容易被人看到,但密码对用户来说是保密的,因此我们需要对数据进行加密后再存储,这样一来,即使被看到也是我们加密后的数据,从而大大提高了安全性。
今天,我们就来写一个小小的例子来模仿一下字符串加密和解密的过程。
#define _CRT_SECURE_NO_WARNINGS#include#includeint main() { int result = 1; int i; int count = 0; char text[128] = {'\0'};//存放明文字符串 char cryptograph[128] = {'\0'};//存放密文字符串 while (1) { if (result==1) { printf("请输出要加密的明文:\n"); scanf("%s", &text); count = strlen(text); for (i = 0; i < count; i++) { cryptograph[i] = text[i] + i + 5;//加密 } cryptograph[i] = '\0'; printf("加密后的密文是:%s\n", cryptograph); } else if (result==2) { count = strlen(text); for (i = 0; i < count; i++) { text[i] = cryptograph[i] - i - 5;//解密 } text[i] = '\0'; printf("解密后的明文是:%s\n",text); } else if (result==3) { break; } else { printf("请按提示输入:\n"); } printf("输入1加密明文,输入2对刚加密的明文进行解密,输入3退出程序:\n"); printf("请按提示输入:\n"); scanf("%d",&result); } return 0;}
运行结果:
程序分析:
这里采用的加密算法十分简单,就是将字符串中的每个字符加上它在字符串中的位置和一个偏移值5,cryptograph[i] = text[i] + i + 5;//加密
我们输入的字符串是helloworld,第一个字符h在字符串中的位置是0,那么它对应的密文字符是'h'+0+5,即'm'。
【END】