常用加密方式

一.常用加密方式的介绍

常用的加密方式有Base64,MD5,MD5加盐,时间戳密码


二.加密方式介绍

1.base64

base64 基本能够达到安全要求,但是,base64能够逆运算,非常不安全!

原本是 8bit一组表示数据,改为 6bit一组表示数据,不足的部分补零,两个0 一个 = 表示.
base64 编码之后 , 数据长度会变大 , 增加了大约 1 / 3 左右 .

2.MD5(信息-摘要算法)

对输入信息生成唯一的128位散列值,主要运用在一致性验证、数字签名、文件完整性验证以及口令加密等方面


MD5的特点

1)任意长度的数据,算出的MD5值长度是固定的

2)从原数据计算出MD5值很容易

3)根据输出值,不能得到原始的明文,其过程不可逆,但是MD5可以正向解密,所以MD5不是绝对安全的

4)想找到两个不同数据,使他们具有相同的MD5 ,是非常困难的。


3.MD5加盐

在密码哈希过程中添加的额外的随机值

加盐(salt):在明文的固定位置插入随机串,然后再进行MD5

先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序
加盐要足够长,足够复杂

4.时间戳(用户密码动态变化)

相同的密码明文 + 相同的加密算法 ==》每次计算都得出不同的结果,可以保证密码的安全性

原理:当前时间加入到密码中

 服务器也需要采用相同的算法.这就需要服务器和客户端时间一致.

注意:服务器端时间和客户端时间,可以有一分钟的误差(比如:59S发送的网络请求,一秒钟后服务器收到并作出响应,这时服务器当前时间比客户端发送时间晚一分钟).
       
这就意味着,服务器需要计算两次(当前时间和一分钟之前两个时间点各计算一次).只要有一个结果是正确的,就可以验证成功!

也可以设置三分钟的间隔


5.对称加密

加密和解密使用相同的秘钥


存在的问题:秘钥的数目难于处理。因为对于每一个合作者都需要使用不同的秘钥


6.非对称加密

需要一对秘钥:公开的交公钥,不公开的叫私钥。

任意一个都可用来加密,需要另一个来解密。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。


特点:解密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。


工作原理

1.A要向B发送信息,A和B都要产生一对用于加密和解密的 公钥私钥
2.A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
3.A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。
4.A将这个消息发给B(已经用B的公钥加密消息)。
5.B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值