文档章节

C语言加密练习:第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。

o
 osc_4nmshwhm
发布于 2018/08/06 23:17
字数 288
阅读 28
收藏 0

精选30+云产品,助力企业轻松上云!>>>

 1 int Afan(char a);
 2 
 3 int main()
 4 
 5 {
 6 
 7 char arr[40] = {"aABX"};
 8 
 9 scanf("%s", arr);
10 
11 printf("原电文:%s\n", arr);
12 
13 //加密电文
14 //注释:如对代码建议请联系QQ:466449822
15 char m_arr[40] = "aaa";
16 
17 printf("密电文:");
18 
19 for (int i = 0; i < strlen(arr) + 1; i++)
20 
21 {
22 
23 if ((arr[i] >65 - 1 && arr[i] < 90 + 1) || (arr[i] >97 - 1 && arr[i] < 122 + 1))
24 {
25 arr[i] = Afan(arr[i]);
26 
27 }
28 printf("%c", arr[i]);
29 
30 }
31 
32 while (1);
33 
34 return 0;
35 
36 }
37 
38  
39 int Afan(char a)
40 
41 { char over;
42 
43 char zm[27] = { 'A', 'B', '.', '.', 'Z' };
44 if (a > 64 && a < 91)
45 {
46 for (int i = 65; i < 90 + 1; i++)
47 { int j;
48 j = i - 64;
49 zm[j] = i;
50 }
51 }
52 if (a > 96 && a < 123)
53 {
54 for (int i = 97; i < 122 + 1; i++)
55 {
56 int j;
57 j = i - 96;
58 zm[j] = i;
59 }
60 }
61   for (int i = 0; i < 27; i++)
62 {
63   if (a == zm[i])
64 
65 {
66    over = zm[26 - i + 1];
67 }
68 }
69    return over;
70 }

结果:

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Python密码学入门:凯撒密码

1 什么是密码学 自古以来,间谍、士兵、黑客、海盗、商人等人,大多依靠密码学来确保他们的秘密不会人尽皆知。密码学是一门使用秘密编码的学科。想要明白密码长什么样,看一看下面两段文本。...

osc_uwh2aihq
04/08
36
0
维吉尼亚密码加解密原理及其实现

维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。 为了说清楚维吉尼亚密码得从移位替换密码说起,比较典型的就是凯撒密码。 ...

osc_7ekszy4a
05/06
15
0
维吉尼亚密码加解密原理及其实现

维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。 为了说清楚维吉尼亚密码得从移位替换密码说起,比较典型的就是凯撒密码。 ...

osc_gni094m4
2018/12/25
3
0
CTF常见密码及工具

Base64 Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the conti......

osc_h5427nyq
2018/03/02
4
0
C语言经典例题(菜鸟教程100例)

学习c语言基础,怎么能少了菜鸟教程上的100道例题呢,这里整理一下每道题的链接,希望大家能享受学习的乐趣 1,有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2,...

osc_n7y93s8v
2018/09/04
8
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux系统检查用户账户到期时间

如果你在 Linux 上启用了密码策略。密码必须在到期前进行更改,并且登录到系统时会收到通知。如果你很少使用自己的帐户,那么可能由于密码过期而被锁定。在许多情况下,这可能会在无需密码登...

老孟的Linux私房菜
12分钟前
9
0
关于南京哪里有开餐饮费发票?

关于南京哪里有开餐饮费发票?聚焦餐饮行业,谈话〖18 7一電一7 5 3 8一徴一3331〗研究院昨发布数据显示,今年上半年,全国餐饮行业招聘需求增长46.18%,平均月薪6387元.随着餐饮行业的快速...

点击fojewio
45分钟前
7
0
android studio 4.0 打开DDMS

1、先找到AndroidStudio配置的SDK路径; 2、在SDK的/tools/路径下有个monitor.bat 的批处理文件; 3、鼠标连续点击两下monitor.bat这个批处理文件,在屏幕上会打开一个类似CMD的命令行中输入...

chenhongjiang
47分钟前
10
0
如何在Android中使用SharedPreferences来存储,获取和编辑值

问题: Closed . 已关闭 。 This question needs to be more focused. 这个问题需要更加集中。 It is not currently accepting answers. 它当前不接受答案。 Learn more . 了解更多 。 Want...

fyin1314
57分钟前
6
0
【JDK1.8】LinkedList源码分析

LinkedList的特性 LinkedList内部使用双向链表作为存储结构,LinkedList可以理解为链表的扩展对象,封装了常用的和非常用的操作链表的方法。以及在通过索引获取元素时的简单优化,通常Linke...

XuePeng77
今天
36
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部