C语言文字加密程序的实现

前言:当今社会是一个信息社会,你的个人信息和聊天记录极有可能被别有用心的人时时刻刻监视着,那么你想不想实现专属于两个人或一个小圈子的人在社交软件上的交流不被任何其他人读懂呢?下面就给大家提供一个原理极其简单程序极其容易实现的C语言文字加密小程序的实现算法。

原理:ASCLL码的加减乘除运算。举一个最简单的例子,从键盘输入一行字符"LANGUAGE",将所有字符的ASCLL码加1后再打印出来就变成了"MBOHVBHF",将所有字符的ASCLL码加2,则打印出来是"NCPIWCIG",试问从打印出来的字符串的字里行间谁还可以一眼就看出最初想要传达的信息是"LANGUAGE"?同理,将加密文字所有字符的ASCLL码减1再打印出来就可以实现对加密文字的翻译,例如将"MBOHVBHF"中每个字符的ASCLL码都减1再打印出来就可以还原出"LANGUAGE"。

如果你足够聪明,可以看出"MBOHVBHF"是"LANGUAGE"中的所有字母在英文字母表里的顺序后移一位形成的、"NCPIWCIG"是"LANGUAGE"中的所有字母在英文字母表中的顺序后移两位形成的,那么请大家再来看一下汉字的情况。

我在键盘上录入了"今天晚上我不回家吃饭了",将这串字符的ASCLL码全部加1,打印出来是这样的"掘晚晤市嫌臣假接凑负绿"。怎么样,哈哈哈,是不是看完后丈二和尚摸不着头脑?<

  • 26
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
凯撒加密算法是一种简单的移位密码,其核心思想是将明文的每一个字符在密码系统所支持的字符序列中向右平移N,映射得到新的字符从而实现加密,解密则相反向左平移N。加密的Key即为N。[1] 在C语言实现凯撒加密算法,可以通过编写代码来实现。首先,需要定义一个函数来进行加密和解密操作。这个函数接受两个参数,一个是明文字符串,另一个是平移的位数N。然后,使用循环遍历明文字符串中的每一个字符,对每个字符进行平移操作,得到加密或解密后的字符,最后将加密或解密后的字符拼接成最终的结果字符串。 以下是一个简单的C语言凯撒加密算法的实现示例: ```c #include <stdio.h> void caesarEncryptDecrypt(char *str, int key) { int i = 0; char ch; while (str[i != '\0') { ch = str[i]; // 判断字符是否为大写字母 if (ch >= 'A' && ch <= 'Z') { ch = ch + key; if (ch > 'Z') { ch = ch - 'Z' + 'A' - 1; } else if (ch < 'A') { ch = ch + 'Z' - 'A' + 1; } str[i = ch; } // 判断字符是否为小写字母 else if (ch >= 'a' && ch <= 'z') { ch = ch + key; if (ch > 'z') { ch = ch - 'z' + 'a' - 1; } else if (ch < 'a') { ch = ch + 'z' - 'a' + 1; } str[i = ch; } i++; } } int main() { char strs", str); printf("请输入平移的位数N:"); scanf("%d", &key); caesarEncryptDecrypt(str, key); printf("加密/解密后的字符串为:%s\n", str); return 0; } ``` 通过编写以上的代码,可以实现在C语言中使用凯撒加密算法进行字符串的加密和解密操作。用户需要输入明文字符串和平移的位数N,程序会输出加密或解密后的字符串作为结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [C语言实现简单加密算法 凯撒密码 RSA算法 简介及实现](https://blog.csdn.net/weixin_53538467/article/details/129813068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [2022电子设计竞赛-基于c语言实现的四轴飞行器跟踪小车源码及资料.zip](https://download.csdn.net/download/RuanJian_GC/88270428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值