c语言字符转字符串_C语言实现字符串的加密和解密

点击上方“学士科技”,选择“设为星标”

资讯、技术干货第一时间送达!

8c0508a2b946dd5403984b6a5c295b1e.gif

C语言基础合集,点我点我~~~

C语言进阶合集,点我点我~~~

C语言高级 ☟ ☟ ☟

42f49e9b01dca22f17b6237e466d8bcc.png

在项目开发中,为了防止一些敏感信息的泄露,通常我们会对这些信息进行加密,比如用户的登录密码,如果不加密直接进行明文存储的话,就很容易被人看到,但密码对用户来说是保密的,因此我们需要对数据进行加密后再存储,这样一来,即使被看到也是我们加密后的数据,从而大大提高了安全性。

今天,我们就来写一个小小的例子来模仿一下字符串加密和解密的过程。

#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;}

运行结果:

7dfc842d7f0a98de604f2b0f68aa3560.png

程序分析:

这里采用的加密算法十分简单,就是将字符串中的每个字符加上它在字符串中的位置和一个偏移值5,cryptograph[i] = text[i] + i + 5;//加密

我们输入的字符串是helloworld,第一个字符h在字符串中的位置是0,那么它对应的密文字符是'h'+0+5,即'm'。

0c8a3b648d96106bd6f96c7c56c4f301.gif

END

e916f352f4339870a25c05cc31c92f1b.png5b1ba763fbc86f2de913d4c08788a6af.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值