首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C语言实现字符串的加密和解密

C语言实现字符串的加密和解密

作者头像
C语言中文社区
发布2022-05-30 15:07:00
发布2022-05-30 15:07:00
1.9K00
代码可运行
举报
文章被收录于专栏:C语言中文社区C语言中文社区
运行总次数:0
代码可运行

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

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

代码语言:javascript
代码运行次数:0
运行
复制
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

int 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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档