密码学基础加密方式

二进制幂数加密法:

云影密码(01248密码):

与二进制幂加密不同,这个加密法采用的是0作间隔,其他非0数隔开后组合起来相加表示序号1-26之一的字母(a/A,b/B,c/C…z/Z)。

凯撒密码:

明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。其实就是按照特定的顺序将字母替换。比如后移2位,那么a就变成c,d就变成f

Rot13加密:

这种加密与凯撒十分类似,就是凯撒密码中移动13位的结果。

栅栏密码:

比较常见的是2栏的栅栏密码。

比如明文:THERE IS A CIPHER

去掉空格后变为:THEREISACIPHER

两个一组,得到:TH ER EI SA CI PH ER

先取出第一个字母:TEESCPE

再取出第二个字母:HRIAIHR

连在一起就是:TEESCPEHRIAIHR 还原为所需密码。

而解密的时候,我们先把密文从中间分开,变为两行:

T E E S C P E

H R I A I H R

再按上下上下的顺序组合起来:

THEREISACIPHER

分出空格,就可以得到原文了:

THERE IS A CIPHER

但也存在不是两栏的情况,就需要对密文的总字数分解因数,尝试分栏的种类。

比如密文 TAHCEIRPEHIESR  14个字母,可以考虑2栏或7栏。

Base64编码:

转码过程例子:3*8=4*6

内存1个字节占8位

转前: s 1 3

先转成ascii:对应 115 49 51

2进制: 01110011 00110001 00110011

6个一组(4组) 011100110011000100110011

然后才有后面的 011100 110011 000100 110011

然后计算机是8位8位的存数 6不够,自动就补两个高位0了

所有有了 高位补0

科学计算器输入 00011100 00110011 00000100 00110011

得到 28 51 4 51

查对下照表 c z E z

核心思想在于将8位的二进制转换为6位的二进制。

而6位二进制共64种组合,可以表示10个数字,26个字母的大小写,外加符号+和/。一共64个。

有一点要特别指出,当明文个数不是三的倍数时,就会出现 明文数*8%6不为零的情况,

这是如果余数为2,就在末尾补两个等号,如果余数为4,就补一个等号。对于余下的2个或4个二进制

采用高位补零的方法。

比如密文:cmFubA==  的明文为ranl

因此我们可以得出base64编码后的特征:只含有数字,字母,和符号+ / =。

url编码:

url编码是字符ASCII码的十六进制加上%的格式。 在url中不是对所有的字符都要进行url编码,一般的字母和数字是不会被编码的。会以原本形式传递。

ASCII编码:(特征是0-127)

Unicode编码:

这是对ASCII码表的扩展,可以表示更多的字符,采用2个字节16位的储存形式。

解码后可以看到16进制的表示形式。

其特征为以\u开头。

unicode在html/css实体语言中转换

utf8编码(&#开头):

这是为了利用内存采用的一种编码格式,这里只是看看其特征 &#开头ascii表之外的字符,

对于能用ascii表示的字符仍用ascii表示还是一个长度,就节省了内存。

1. 但是不管怎样,所有这些编码方式中,0~127表示的符号是一样的,不一样的只是128~255的这一段。

2. 至于亚洲国家的文字,使用的符号就更多了,汉字就多达10万左右。一个字节只能表示256种符号肯定是不够的,就必须使用多个字节表达一个符号。 比如简体中文常见的编码方式是GB2312,使用两个字节表示一个汉字,所以理论上最多可以表示256×256=65536个符号。

hash算法:

hash函数是一系列单向函数,就是这种运算是不可逆的,只可以通过hash运算得到一个hash值,而不能通过hash值得到原始数据。并且经过hash运算后得到的hash值为固定长度

加盐hash:

网站后台一般只储存用户密码的hash值,但也存在一定风险,因为如果黑客拿到了密码的hash后,可以的通过对比已经存在的明文与哈希的对应数据,进行对比,获得明文密码。因此,有了加盐hash,就是随机的在用户密码后加上一段字符后再进行hash运算,由于黑客不知道加的盐是什么,依然无法得到密码。

摩斯密码:

不同于现代只使用0和1两种状态的二进制代码,它的代码包括五种:

1.点(.) . 是 0

2.划(-)- 是 1

3.每个字符间短的停顿(在点和划之间的停顿)

4.每个词之间中等的停顿

5.以及句子之间长的停顿

Brainfuck/Ook!编码:

brainfuck语言用> < + – . , [ ]八种符号来替换C语言的各种语法和命令: 例如: +++++++++++++++++.>+++++++++++++++++++++++++++++++++++++++++

ook密码中有大量ook,加上一些符号;
Ook! has only three distinct syntax elements:
Ook.
Ook?
Ook!
这种就是ook密码

当铺密码:

当铺密码就是一种将中文和数字进行转化的密码,当前汉字有多少笔画出头,就是转化成数字几。

培根密码:

这是利用a和b(A和B也行)来表示二进制中的0和1,并以此来表示26个字母(0-25),培根密码5位一组。

A aaaaa B aaaab C aaaba D aaabb E aabaa F aabab G aabba H aabbb I abaaa J abaab

K ababa L ababb M abbaa N abbab O abbba P abbbb Q baaaa R baaab S baaba T baabb

U babaa V babab W babba X babbb Y bbaaa Z bbaab

QWE加密:

从电脑键盘上的字母从Q开始数,顺序是Q W E R T Y U I…对应的字母顺序依次是A B C D E F G H …也就是说Q=A,W=B,E=C。

MD5信息摘要算法:

MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值。

MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

RSA非对称加密原理:

The happiest thing in the world is to struggle for the ideal.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
"