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++編程學習者的乾貨知識分享平臺,精選深度文章,分享優秀乾貨類、技能類的學習資源,幫助學習中的你。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章