您的位置:首页 > 其它

常用加密方式

2015-12-16 15:05 225 查看
一.常用加密方式的介绍

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

二.加密方式介绍

1.base64

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

原本是 8个bit一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每两个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.非对称加密

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

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

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

<
4000
p>工作原理

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的私钥。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: