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

C语言文章更新目录

C/C++学习资源(百度云盘链接)
计算机二级资料(过级专用)
C语言学习路线(从入门到实战)
编写C语言程序的7个步骤和编程机制
C语言基础-第一个C程序
C语言基础-简单程序分析
VS2019编写简单的C程序示例
简单示例,VS2019调试C语言程序
C语言基础-基本算法
C语言基础-数据类型
C语言中的输入输出函数
C语言流程控制语句
C语言数组——一维数组
C语言数组——二维数组
C语言数组——字符数组
C语言中常用的6个字符串处理函数
精心收集了60个C语言项目源码,分享给大家
C语言核心技术——函数
C代码是怎样跑起来的?
在项目开发中,为了防止一些敏感信息的泄露,通常我们会对这些信息进行加密,比如用户的登录密码,如果不加密直接进行明文存储的话,就很容易被人看到,但密码对用户来说是保密的,因此我们需要对数据进行加密后再存储,这样一来,即使被看到也是我们加密后的数据,从而大大提高了安全性。
今天,我们就来写一个小小的例子来模仿一下字符串加密和解密的过程。

#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’。

如果您觉得本篇文章对您有帮助,请转发给更多的人
C语言中文社区】是一个C语言/C++视频教程、学习笔记、电子书、计算机二级资料等专注于C语言/C++编程学习者的干货知识分享平台,精选深度文章,分享优秀干货类、技能类的学习资源,帮助学习中的你。
在这里插入图片描述

  • 8
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C语言中文社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值