从乱码到代码

来源 :信息技术教育 | 被引量 : 0次 | 上传用户:dxlwwh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  Vs lbh pna ernq guvf,lbh ner vaivgrq.
  上面的文字看上去好像是乱码,不过要读懂它也不难,按字母表顺序,把每个字母向前移13位(a到m变成n到z,n到z变成a到m),于是就变成了If you can read this,you are invited.这是一种加密方法吗?可以算是,也可以说不是。
  古罗马时期,恺撒经常通过顺序移动若干位字母(常常是3位)来加密其重要信件,由于恺撒的名气,现在人们仍然将这种方法称为恺撒移位加密法。尽管有证据表明,恺撒并非是利用字母移位来进行加密的第一人。实际上从现代密码学的观点看,破解移位码简直是轻而易举的事情,所以,现在几乎没有人会动真格地把移位码用在信息安全领域。
  不过有趣的是,按字母表移动13次的加密法却十分有名,甚至还有一个专有名词,称为Rotate by 13 places,简写为ROT13。为什么偏偏要移动13位呢?原因之一是13这个数字在西方文化中的敏感性,而另一个更重要的原因可以总结为一个看似很玄妙的公式。这就成了本文的第一个问题:公式ROT13(ROT13(x))=ROT26(x)=x究竟代表了什么意思呢?
  虽然ROT13很少被用于重要场合,但根据一条著名的安全原则:如果信息被保护的时间要短于该保护被破解的时间,那么这种保护就是有效的。例如,在教室中,若要隔着几个同学传小纸条给某心领神会者,则纸条上很可能就写着类似“zrrg zr gbavtug”这样的信息(当然并不推荐在上课时这么做)。20世纪80年代起,ROT13作为幽默或谜语流传开来,不过它果真越来越多地出现在信息技术的课堂中,成为讲解编码解码、算法结构等教学内容的重要案例。
  若通过分支结构语句编程对一串文字按ROT13方式加密,算不上是什么特别困难的任务,但这里有意要提高一下难度。本文的第二个问题:若不用分支结构,如何仅编写一行程序表达式,就能将某字母按ROT13加密法,生成对应的加密后的字母呢(只考虑小写的情况)?
  只用一行代码实现某个复杂功能,在英文中被称为One-liner编程,One-liner在UNIX或其他类似UNIX系统中尤其普遍,下面这个例子,仅用一行RUBY程序代码,就实现了输入文本、ROT13加密或解密、输出加密或解密后文本的功能:
  gets.each_byte {|x| puts "" << (x-97 13-26*((x-97)/13.to_i) 97)}
  有兴趣的话可以尝试分析这行代码的意思,不过即使读不懂也无伤大雅。熟练的程序员常常利用One-liner高效实现复杂任务,甚至有的还将One-liner编程作为一种挑战极限的智力游戏。从处理文本角度而言,RUBY还不算是编写One-liner的利器,用AWK或Perl所写代码的功能之强大往往让人头晕目眩。尤其是Perl,技巧娴熟的Perl程序员仿佛是魔法师,编写代码就像用魔符施咒。不过有些代码的魔法意味实在太过于强烈了,以至于被同行们称为Write-only code。就此,我们提出本文的第三个问题:Write-only code指的是什么意思呢?
  最后,我们仍然回到和ROT13有关的问题上,这也是本文的最后一个问题:除了编程,还能通过哪些办法方便地实现ROT13的加密和解密呢?
其他文献
建立了高效液相色谱法测定饲料中甲硝唑(MNZ)、替硝唑(TNZ)、地美硝唑(DMZ)、奥硝唑(ONZ)和异丙硝唑(IPZ)等5种硝基咪唑类药物的方法。样品用乙酸乙酯提取,正己烷-磷酸溶液反
信息技术与小学语文课程整合的概述整合作为哲学名词,在教育中可以理解为教育、教学系统内各要素的整体协调、相互渗透,以发挥教育系统的最大效益?理论上,课程整合(Curriculum Int
[文题]读了下面这封信,你一定会有所触动,也许你会想到自己曾经历过的事,也许你会有所思考,有所感悟,把你的经历、思考或感悟写出来,将会是一篇不错的文章。
雷达天线方位编码器正北校准涉及人工计算,若用计算机程序取代之,则能又准又快。本文介绍了方位编码器原理、更换方位编码器对方位数据的影响及调整策略,并以ALENIA雷达、THALES
随着科学发展观的提出,“以人为本和实现人的全面发展”引起了全社会的关注,现代科学人本主义教育成为学校体育教育的主流。体育学习评价作为体育教学评价的重要组成部分,是体育
文章分析了热轧大铸锭的特点,提供了快捷模拟现行热轧压下规程的步骤,为进一步创新和优化热轧压下规程创造条件,为工厂节能创造条件。
文章从新闻传播角度分析了汶川地震新闻报道在全国引发空前巨大震撼力的原因,通过对新闻传播宏观背景、新闻媒体应对突发自然灾害的应急机制以及电视直播报道展开全面分析,指出
在信息科技新课标指导下,倡导自主、合作、探究的学纠方式,充分发挥学生的主体性成为课堂教学的新标准。如何提高信息科技课堂教学的有效性,让信息科技课堂焕发出强大的生命力?笔