摩斯密码以及十种常用加密方法.docx

上传人:b****6 文档编号:4568268 上传时间:2022-12-06 格式:DOCX 页数:13 大小:1MB
下载 相关 举报
摩斯密码以及十种常用加密方法.docx_第1页
第1页 / 共13页
摩斯密码以及十种常用加密方法.docx_第2页
第2页 / 共13页
摩斯密码以及十种常用加密方法.docx_第3页
第3页 / 共13页
摩斯密码以及十种常用加密方法.docx_第4页
第4页 / 共13页
摩斯密码以及十种常用加密方法.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

摩斯密码以及十种常用加密方法.docx

《摩斯密码以及十种常用加密方法.docx》由会员分享,可在线阅读,更多相关《摩斯密码以及十种常用加密方法.docx(13页珍藏版)》请在冰豆网上搜索。

摩斯密码以及十种常用加密方法.docx

摩斯密码以及十种常用加密方法

摩斯密码以及十种常用加密方法

——阿尔萨斯大官人整理,来源互联网

摩斯密码的历史我就不再讲了,各位可以自行XX,下面从最简单的开始:

 时间控制和表示方法

有两种“符号”用来表示字元:

划(—)和点(·),或分别叫嗒(Dah)和滴(Dit)或长和短。

用摩斯密码表示字母,这个也算作是一层密码的:

用摩斯密码表示数字:

用摩斯密码表示标点符号:

目前最常用的就是这些摩斯密码表示,其余的可以暂时忽略

最容易讲的栅栏密码:

手机键盘加密方式,是每个数字键上有3-4个字母,用两位数字来表示字母,例如:

ru用手机键盘表示就是:

7382,

那么这里就可以知道了,手机键盘加密方式不可能用1开头,第二位数字不可能超过4,解密的时候参考此

关于手机键盘加密还有另一种方式,就是拼音的方式,具体参照手机键盘来打,例如:

“数字”表示出来就是:

74894。

在手机键盘上面按下这几个数,就会出现:

“数字”的拼音

手机键盘加密补充说明:

利用重复的数字代表字母也是可以的,例如a可以用21代表,也可以用2代表,如果是数字9键上面的第四个字母Z也可以用9999来代表,就是94,这里也说明,重复的数字最小为1位,最大为4位。

电脑键盘棋盘加密,利用了电脑的棋盘方阵,但是个人不喜这种加密方式,因需要一个一个对照加密

当铺密码比较简单,用来表示只是数字的密码,利用汉字来表示数字:

电脑键盘坐标加密,如图,只是利用键盘上面的字母行和数字行来加密,下面有注释:

例:

bye用电脑键盘XY表示就是:

351613 

电脑键盘中也可参照手机键盘的补充加密法:

Q用1代替,X可以用222来代替,详情见6楼手机键盘补充加密法。

ADFGX加密法,这种加密法事实上也是坐标加密法,只是是用字母来表示的坐标:

例如:

bye用此加密法表示就是:

aaxxxf 

值得注意的是:

其中I与J是同一坐标都是gd,类似于下面一层楼的方法:

这种加密方法和上面的加密方法是相同的,但是是用数字来表示坐标的,其中IJ是在同一坐标上,与上层楼中的一样,就不举例了:

字母表顺序加密法,反字母表加密法和小键盘加密法:

前两种不解释了,图中有,第三种就是小键盘原本的顺序是789456123,加密后就是123456789,也就是说7=1,8=2,以此类推,比较简单

说来说去差点把他忘掉了,电脑键盘QWE加密法,就是用字母表替换键盘上面的排列顺序:

凯撒密码加密就是把原字母按照字母表顺序向后移1-26位,例如:

ABCDEF集体向后移三位结果就是defghi,移位规律表如下,再例如:

byebye后移5位就是gdjgdj

维吉尼亚密码,我认为维吉尼亚尼玛世界上是凯撒密码的另一种说法,因为其表示出来的结果是一样的,维吉尼亚密码的意思是:

原字母用随意一位字母(密钥)表示开头,向后顺延,例如:

ABCDEF,用D作为密钥,那么结果是:

defghi,和凯撒的向后移3位的结果是一样的,再例如:

byebye用F作为密钥,结果是:

gdjgdj,那么就和上面的凯撒密码是相同的,只是表达方式不一样,图表见下:

不过有一点不同的是,维尼吉亚密码用来加密的密钥可以是一个字母,也可以是一个单词,如果是一个单词的话,那么加密顺序就按照这个单词的每个字母来作为密钥加密,然后依次循环即可

培根密码,见下图,就是用字母AB来表示26个英文字母的二进制表示法,使用起来极为麻烦,但是如果使用的好,将完全看不出加密,也是不错的一种加密方式:

倒叙加密:

这个估计大家都能明白什么意思,就是:

ABCDE加密后就变为EDCBA,这里需要注意的是,倒叙加密方式除了全部倒叙外,还有单词倒叙,也就是说:

nihao加密后可变为inoah也可变为oahin,这点解密时需要注意。

接下来说一下进制加密法,我个人学历水平不高,仅仅是知道此加密法,很少用及,在此略微说一下:

二进制的1101转化成十进制

1101

(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13

转化成十进制要从右到左用二进制的每个数去乘以2的相应次方

不过次方要从0开始

相反用十进制的数除以2每除一下将余数就记在旁边

最后按余数从下向上排列就可得到1101 

十进制转二进制:

用2辗转相除至结果为1

将余数和最后的1从下向上倒序写就是结果

例如302

302/2=151余0

151/2=75余1

75/2=37余1

37/2=18余1

18/2=9余0

9/2=4余1

4/2=2余0

2/2=1余0

1/2=0余1

故二进制为100101110

二进制转十进制

从最后一位开始算,依次列为第0、1、2...位

第n位的数(0或1)乘以2的n次方

得到的结果相加就是答案

例如:

01101011.转十进制:

第0位:

1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然后:

1+2+0

+8+0+32+64+0=107.

二进制01101011=十进制107.

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。

这种做法称为"按权相加"法。

二进制转十进制

本人有个更直接的方法,例如二进制数1000110转成十进制数可以看作这样:

数字中共有三个1即第二位一个,第三位一个,第七位一个,然后十进制数即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70次方数即1的位数减一。

如此计算只需要牢记2的前十次方即可在此本人为大家陈述一下:

2的0次方是1

2的1次方是2

2的2次方是4

2的3次方是8

2的4次方是16

2的5次方是32

2的6次方是64

2的7次方是128

2的8次方是256

2的9次方是512

2的10次方是1024

2的11次方是2048

2的12次方是4096

2的13次方是8192

2的14次方是16384

2的15次方是32768

2的16次方是65536

在这里仅为您提供前16次方,若需要更多请自己查

十进制数转换为二进制数

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

·十进制转二进制

110011

·1.十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

具体做法是:

用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

十进制整数转二进制

如:

255=(11111111)B

255/2=127=====余1

127/2=63======余1

63/2=31=======余1

31/2=15=======余1

15/2=7========余1

7/2=3=========余1

3/2=1=========余1

1/2=0=========余1

789=1100010101

789/2=394.5=1第10位

394/2=197=0第9位

197/2=98.5=1第8位

98/2=49=0第7位

49/2=24.5=1第6位

24/2=12=0第5位

12/2=6=0第4位

6/2=3=0第3位

3/2=1.5=1第2位

1/2=0.5=1第1位

2.十进制小数转换为二进制小数

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。

具体做法是:

用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的整数部分为零,或者整数部分为1,此时0或1为二进制的最后一位。

或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

十进制小数转二进制

如:

0.625=(0.101)B

0.625*2=1.25======取出整数部分1

0.25*2=0.5========取出整数部分0

0.5*2=1==========取出整数部分1

再如:

0.7=(0.101100110...)B

0.7*2=1.4========取出整数部分1

0.4*2=0.8========取出整数部分0

0.8*2=1.6========取出整数部分1

0.6*2=1.2========取出整数部分1

0.2*2=0.4========取出整数部分0

0.4*2=0.8========取出整数部分0

0.8*2=1.6========取出整数部分1

0.6*2=1.2========取出整数部分1

0.2*2=0.4========取出整数部分0

八进制转换十进制

八进制就是逢8进1。

八进制数采用0~7这八数来表达一个数。

八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……

所以,设有一个八进制数:

1507,转换为十进制为:

839,具体方法如下:

可以用横式直接计算:

7*8^0+0*8^1+5*8^2+1*8^3=839也可以用竖式表示

第0位7*8^0=7

第1位0*8^1=0

第2位5*8^2=320

第3位1*8^3=512十六进制转换十进制

16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。

字母不区分大小写。

十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

所以,在第N(N从0开始)位上,如果是是数X(X大于等于0,并且X小于等于15,即:

F)表示的大小为X*16的N次方。

假设有一个十六进数2AF5

直接计算就是:

5*16^0+F*16^1+A*16^2+2*16^3=10997

也可以用竖式表示:

第0位:

5*16^0=5

第1位:

F*16^1=240

第2位:

A*16^2=2560

第3位:

2*16^3=8192

-------------------------------------

10997

现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。

假设有人问你,十进数1234为什么是一千二百三十四?

 

你尽可以给他这么一个算式:

1234=1*10^3+2*10^2+3*10^1+4*10^0 

十六进制互相转换

首先我们来看一个二进制数:

1111,它是多少呢?

你可能还要这样计算:

1*2^0+1*2^1+1*2^2+1*2^3=1*1+1*2+1*4+1*8=15。

然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:

8、4、2、1。

即,最高位的权值为2^3=8,然后依次是2^2=4,2^1=2,2^0=1。

记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

下面列出四位二进制数xxxx所有可能的值(中间略过部分)

仅4位的2进制数快速计算方法十进制值十六进值

1111=8+4+2+1=15F

1110=8+4+2+0=14E

1101=8+4+0+1=13D

1100=8+4+0+0=12C

1011=8+0+2+1=11B

1010=8+0+2+0=10A

1001=8+0+0+1=99

....

0001=0+0+0+1=11

0000=0+0+0+0=00

二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。

 

如(上行为二制数,下面为对应的十六进制):

11111101,10100101,10011011

FD,A5,9B

反过来,当我们看到FD时,如何迅速将它转换为二进制数呢?

先转换F:

看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?

应该是8+4+2+1,所以四位全为1:

1111。

接着转换D

看到D,知道它是13,13如何用8421凑呢?

应该是:

8+4+1,即:

1101。

所以,FD转换为二进制数,为:

11111101

由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。

比如,十进制数1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。

所以我们可以先除以16,得到16进制数:

被除数计算过程商余数

12341234/16772

7777/16413(D)

44/1604

结果16进制为:

0x4D2

然后我们可直接写出0x4D2的二进制形式:

010011010010。

 

其中对映关系为:

0100--4

1101--D

0010--2

同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。

下面举例一个int类型的二进制数:

01101101111001011010111100011011

我们按四位一组转换为16进制:

6DE5AF1B 

采余数定理分解,例如将487710转成十六进制:

487710÷16=30481....15(E)

30481÷16=1905....1

1905÷16=119....1

119÷16=7....7

7÷16=0....7

这样就计到487710=7711E

不喜欢进制加密方法的可以自行跳过,例如我本人就不怎么喜欢进制加密法,所以自动忽略无视。

单表替换加密法。

也是用字母表示加密后的字母,详情见下图,类似反字母表顺序加密法,不过这种加密法用到的人比较少,例如:

nihao加密后就是:

cqild

以上便是各种还比较常见的加密方法,另外还有base64、五笔加密、MD5加密、ASC码转换加密等各种加密方法,因我不是特别了解,所以暂时就不发布了,对于MD5加密法我颇有微词,这是一种不可逆解的加密法,也就是说除了加密人别人基本解不出来,就算解出来也不是原来的意思,确实不知道为什么会有此种加密法,可能我见识浅薄....

所有的都已经发出来,此处完结。

有不懂的欢迎楼下询问或加我本人QQ号码交流。

以上,谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1