电报加密C语言

【训练】

标题要求: 输入一行电报文字,将字母变成其下一字母(如 ’a’ 变成 ’b’ …… ’z!’ 变成 ’a’ 别的字符稳定)。 解题线索: ASCII 表可知 a 与 b 相差 1 # include <stdio.h> int main ( ) { void encrypt ( char p [ ] ) ; char arr [ 100 ] ; gets ( arr ) ; encrypt ( arr ) ; printf ( "%s" , arr ) ; return 0 ; } void encrypt ( char arr [ ] ) { while ( * arr ) { if ( 'a' <= * arr && * arr <= 'y' ) { * arr = ++ * arr ; } else if ( * arr == 'z' ) { * arr = 'a' ; } arr ++ ; } } 在这里插入图片描述

1043: C语言-密码2

标题描述
输入一行电报文字,将字母变成其下一字母(如’a’变成’b’!……’z’变成’a’别的字符稳定)。

输入
一行字符
输出
加密处置后的字符
样例输入
a b
样例输出
b c

# include <stdio.h> # include <string.h> int main ( ) { int i ; char ch [ 100 ] ; gets ( ch ) ; for ( i = 0 ; ch [ i ] != '\0' ; i ++ ) { if ( ( ch [ i ] <= 121 ) && ( ch [ i ] >= 97 ) ) { ch [ i ] = ch [ i ] + 1 ; } if ( ch [ i ] == 122 ) { ch [ i ] = 'a' ; } } printf ( "%s" , ch ) ; return 0 ; }

留意:’\0’与’\n’的区别

在本实例中要求计划一个加密和好息争密算法。在对一个指定的字符串加密之后,使用解密函数可以或许对密文解密,表现明文信息。加密的方法是将字符串中每个字符加上它在!字符串中的位置和一个偏移值 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 略微庞杂,是为了确保信息传输完备、同等而计划的杂凑算法之一,是杂凑算法的基本原理。

本文网址: http://www.1cm8858.com/d/2021128181230_8845_2793180462/home