标点符号。
采用数字、大小写字母、特殊符号组合作为密码的方式比较安全。密码是一种用来混淆的技术,使用者希望将正常的(可识别的)信息转变为无法识别的信息。但这种无法识别的信息部分是可以再加工并恢复和破解的。密码在中文里是“口令”(password)的通称。
一种用数字对应字母的密码叫ascii码。
ASCII 是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。
ASCII 码使用
指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。
以上内容参考:百度百科-ASCII
因为文字这么多,就可以从词频入手了。
第一步:
英文字母出现频率
先从baidu上搜索出英文字母词频分布情况:
高频字母:E、 T、A、O、N、I、R、S、H
中频字母:D、L、U、C、M
低频字母:P、F、Y、W、G、B、Y(v?)
稀频字母:J、K、Q、X、Z
第二步:
确定字母e
再统计一个原文中各个字母出现的频率。具体情况我就不列出来了。全部字母1405字,字母X出现了167次,比排名第二的T的133次要高出很多
,几乎可以肯定X=e。(为了方便替换,在word里将全部大写字母换成小写)。然后,因为Z和S都只出现了一次,于是大胆猜测它们就是x和e
。而且在e破译出来后,有eZ***的词出现,一般英文中ex***的词不少,于是暂定Z~x,S~z。因为x和z出现次数也不多,暂时这么估计也不会
太影响总体。
第三步
从短单词入手
在e取代了X后,观察到全文中有很多‘JPe’这样的词出现,很容易就会想到它们就是‘the’。于是J=t,P=h。
再观察只有一个字母的单词,文中出现过3次‘M’和1次‘B’用一个字母作词的情况,这与英文中的‘a’和‘I’作为单词几乎是对应的。鉴
于‘I’在单独作单词时通常在句首,观察M和B的位置,可以得到M=a,B=i。
还有文中的'R情况,根据英文的所有格用法,容易想到R=s。
第四步
利用已有条件,解决特征单词
因为一眼瞥见了替换后的‘saE’,于是查一下金山词霸,从sad/sap/sat/saw/say中,排除已用字母t的sat,根据词的位置基本可以排除掉形
容词sad,再根据文中还多次出现‘thE’这个词,用w、p或d套用都不能成词,而‘thy’是古英文中‘你’的意思,还可以接受E=y。
又,在替换后‘iT’多次出现,估计T~f或T~n。根据词频规律以及T在本文中出现的高达133次来看,T不会是低频字母f,所以T=n。
很多地方的‘anN’使人很容易将N=d推断出来。
第五步
解决剩下的高词频字母
在出现100次以上的字母中,只剩下C还没有对应,而词频排名第四的o也还没有对应,可以猜想C~o,文中‘CI’这样的词出现多次,估计为‘
of’,而f对应的词频和I出现的次数也相当。因此确定C=o,I=f。
高词频还有剩下有r,而文中很多词的后缀是‘-eV’,所以判断V=r。多个地方验证也还可行。
第六步
逐渐解决剩下的字母
根据后缀‘-inW’来找出W=g,根据两个‘Yrote’来得到Y=w,根据‘Hnown’和‘Hing's’来得到H=k。
剩下的就简单了:G=l,Q=p,U=u,K=q,A=c,L=m,F=b,D=v。
最后剩下个O~j。
第七步
验证
发现有的单词出错,出现一次的‘zoints’和‘belshajjar’都不是单词,试着将‘z’和‘j’换一下,就正确了,而且后者是圣经里的名词
,还有古英文的thy和thee。应该没问题了。所以最后O=z,S=j,再确定前边的Z=x。就完了。
一种用数字对应字母的密码叫ascii码。
ASCII 是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。
扩展资料
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
美国信息交换标准代码是由美国国家标准学会(American National Standard Institute , ANSI )制定的,是一种标准的单字节字符编码方案,用于基于文本的数据。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,后来它被国际标准化组织定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母。