0
点赞
收藏
分享

微信扫一扫

加密解密概念,作用以及创建演示

眼君 2022-03-23 阅读 105

加密解密概念:是一个信息干扰的过程,保证固定的人才可以看到你的信息

把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不用的手段还原(解码)

作用:

保密性:信息在传输时不被泄露

完整性:信息在传输时不被篡改

有效性:信息的使用者是合法的

常用的加密当时有三种分别是:

对称加密:指数据加密和解密使用相同的密钥 数据的机密性: DES,AES

非对称加密:也叫公钥加密,指数据加密和解密使用不同的密钥  密钥对儿   身份验证  DSA,RSA

单向加密:指只能加密数据,而不能解密数据  数据的完整性  MD5,SHA系列算法

二,字符编码

进制:一个字节是计算机内存的最小单位,由8个二进制为组成,2个16进制组成

F =0000 1111 = 15

FF = 1111 1111 =255

进制间转换方法:

十进制和二进制

>>>bin(255) #十进制转二进制

'0b11111111'

>>>int('0b11111111',2) #二进制转十进制

255

十进制与十六进制

>>>hex(255) # 十进制转十六进制

'0xff'

>>>int('0xff',16) #十六进制转十进制

255

字符和unicode编号是一 一 对应的关系,世界上的每个字符都对应这一个unicode

编号,根据编号可以进行多种编码。utf-8 是最常用的编码格式

>>> '中',encode('utf-8') #汉字中utf -8 编码

b'\xe4\xb8\xad'

三,Base64编码原理

概念:

Base64就是一种基于64个可打印字符来表示二进制数据的方法

作用:

1.在参数传输的过程中经常遇到一种情况:使用全英文的没有问题,但是一涉及到

中文就出现乱码的情况

2.网络上传输的字符并不全是可打印的字符,比如二进制文件,图片等,Baes64的

出现就是为了解决这类问题,它基于64个可打印的字符来表示二进制的数据的一种方法

 ASCII码

>>>ord ('M’)

77

>>>ord('a')

97

ASCII 转二进制

>>>bin(77)

'0b1001101

>>>bin(97)

'0b1100001

六个二进制一组

>>>int ('010011',2)

19

大多数编码都是由字符串转化成二进制的过程,而Base64的编码则是从二进制转换为字符串。常规恰恰相反:

Base64编码主要用于传输,存储,表示二进制领域,不能算上加密,只是无法直接看到明文

。也可以通过打乱Base64编码来进行加密。

4.单向加密

概念:单向加密是指只能对明文数据进行加密,而不能解密数据

常用方法有: MD5,SHA

1.md5的长度默认为128bit,也就是128个0和1的二进制串

2.SHAde 的长度默认为256bit,也就是256个0和1的二进制

3,使用二进制串很不友好。所以将二进制转成了16进制,每4个bit表示一个16进制,所以128/4 = 32 换成16进制表示后,为32位了。同理,256/4 =64,64位

4.update 的意思是更新hash值,若同一个MD5对象两次调用update,第二次会保留第一次调用调用的信息,所以算一个字符串的hash值,应该重新生成md5对象

md5 加密:

 sha 加密

 五,对称加密

概念:对称加密是指数据加密与解密使用相同密钥

常用的对称加密: DES  3DES AES

特点: 加密与解密使用的密钥相同

但是由于算法一般都是公开的,因此机密性几乎完全依赖于密钥

通常使用的是相对较小的密钥,一般小于256bit。因为密钥越大,加密越强,但

加密与解密的过程越慢

说明:密钥长度越长,数据加密与解密的时间就越久

DES概念:数据加密算法是用一种对称加密算法。很可能是使用最广泛的密钥系统,

特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的

 实现DES加密:

 3DES概念:是三重数据加密算法(TDEA,TripleData Encryption Alogorithm)块密码的通称

它相当于对每个数据块应用三次DES加密算法

由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解,3DES即是设计用来

提供一种相对简单的方法, 即通过增加DES的密钥长度来避免攻击,3DES的演示过程:

 AES概念:密码学中的高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,演示如下:

 六:非对称加密概念:

指的是加密和解密使用不用的密钥,一把做为公开的公钥,另一把座位私钥,这对密钥中的公钥进行加密,私钥勇于解密,反之亦然被私钥加密的数据也可以被公钥解密.演示:

 看这里希望能给你在js加密上有所帮助。

 

 

举报

相关推荐

0 条评论