【编程入门】C语言字符串的加密和解密算法!
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【编程入门】C语言字符串的加密和解密算法!,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2264字,纯文字阅读大概需要4分钟。
内容图文
![【编程入门】C语言字符串的加密和解密算法!](/upload/InfoBanner/zyjiaocheng/607/9847fa3afc3844ccb65080a885b29e6d.jpg)
在本实例中要求设计一个加密和解密算法。在对一个指定的字符串加密之后,利用解密函数能够对密文解密,显示明文信息。
加密的方式是将字符串中每个字符加上它在字符串中的位置和一个偏移值 5。以字符串“mrsoft”为例,第一个字符“m”在字符串中的位置为 0,那么它对应的密文是“'m'+0+5",即 r。
算法思想
在 main() 函数中使用 while 语句设计一个无限循环,并定义两个字符数组,用来保存,明文和密文字符串,在首次循环中要求用户输入字符串,进行将明文加密成密文的操作, 之后的操作则是根据用户输入的命令字符进行判断,输入 1 加密新的明文,输入 2 对刚加密的密文进行解密,输入 3 退出系统。
程序代码
#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; }
调试运行结果
本实例中,输入了 I love Xichang College 字符串作为例证,因此输出是多个加密后的字符串,结果如下所示:
请输入要加密的明文:
I Love Xichang College
加密后的密文是:N
输入1加密新的明文,输入2对刚加密的密文进行解密,输入3退出系统:
请输入命令符:
请输入要加密的明文:
加密后的密文是:Qu}m
输入1加密新的明文,输入2对刚加密的密文进行解密,输入3退出系统:
请输入命令符:
请输入要加密的明文:
加密后的密文是:]ojpjxr
输入1加密新的明文,输入2对刚加密的密文进行解密,输入3退出系统:
请输入命令符:
请输入要加密的明文:
加密后的密文是:Hustnqp
输入1加密新的明文,输入2对刚加密的密文进行解密,输入3退出系统:
请输入命令符:
总结
字符串的加密和解密方法一直被广泛应用,最常见的无非是 MD5 散列函数。
本实例中的算法比较简单,只是在原值基础上相加对应值即可。MD5 略微复杂,是为了确保信息传输完整、一致而设计的杂凑算法之一,是杂凑算法的基本原理。
![【编程入门】C语言字符串的加密和解密算法! - 文章图片](/upload/getfiles/0001/2021/4/30/20210430104954151.jpg)
?
最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~
【值得关注】我的 C/C++编程学习交流俱乐部【点击进入】
问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~
内容总结
以上是互联网集市为您收集整理的【编程入门】C语言字符串的加密和解密算法!全部内容,希望文章能够帮你解决【编程入门】C语言字符串的加密和解密算法!所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。