栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 人文期刊 > 电脑报

古老而又神奇的密码

电脑报 更新时间: 发布时间: 学术归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

古老而又神奇的密码

陈新龙

在战争中,将领为了预防情报在传递过程中被敌军截获,往往都对情报做了一些手脚,也就是我们俗称的“加密”。在密码学中,恺撒密码(Caesar cipher)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以羅马恺撒大帝的名字命名的,当年恺撒曾用此方法与他的将军们进行联系。

恺撒密码的替换方法是通过排列明文和密文字母表,如果仔细观察,我们能很轻易地找出其中的规律,密文字母表示将明文字母表向左或向右移动一个固定数目的位置。例如,当偏移量是左移3的时候,解密时的密钥就是3,当然我们也可以设置偏移量:

明文字母表:ABCDEFGHIJKLMNOPQRSTUVWX

YZ;

密文字母表:DEFGHIJKLMNOPQRSTUVWXYZA

BC。

接下来分析一道恺撒密码编程题:

在Text1中输入明文:ABCDEFGHIJKLMNOPQRS

TUVWXYZ,根据恺撒密码的原理当点击加密后,密文为:EFGHIJKLMNOPQRSTUVWXYZABC。当我们输入其他非字母字符时,密文还是和明文是一样的,聪明的你是否已经想出答案了?

首先我们先自行分析思维导图,看看你的思路和我的思路有什么异同。

解析:首先把明文中的每个字符给提取出来,接着对提取出来的每个字符进行单独的字符判断,判断每个字符的范围,这里根据密码变化情况分为三个范围,根据不同的范围做出相应的变化。比如A到W字母之间,我们可以把字母向后移动三位,X到Z字母之间,我们可以把字母向前移动23位,而剩下的其他非字母类的字符则不变化,最后组合起来,就变成了新的密文。

在编程中,我们就可以用这种关系来编写我们的代码,我们选用Visual Basic程序来编写,这样程序界面和系统常见的对话框一致。

难度其实不大,关键是理解字符分类的思维。

难度解析:恺撒密码这道题目的主要难度,在于我们的提取函数MID(X,Y,Z),提取函数的意义就是在于由X的第n个字符读起,读取后面的m个字符,这里我们还用到了Chr和Asc两个函数,Chr是将数字转换成字母,而Asc是将字母转换成数字,注意两个函数的使用差异。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/250012.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号