加密

2019-05-20  本文已影响0人  崽子猪

Android常用的加密方式有三种:MD5,RSA,AES


MD5:本质是一种散列函数,用以提供消息的完整性保护

特点:

1.压缩性:任意长度的数据,算出MD5值长度都是固定的

2.容易算性:从原数据计算出MD5值很容易

3.抗修改性:从原数据进行任何改动,哪怕只有一个字节,所得到得MD5值也有很大区别

4.强抗碰撞:已知原数据和其MD5值想找到一个具有相同MD5值得数据(包括伪造数据)是非常难的

5.不可逆性:MD5理论上是不可逆的(已经被暴力破解)

使用场景:

1.验证密码:只要算法不变,就能和服务器上的MD5匹配

2.文件完整性的检验:当下载一个文件时,服务器返回信息.包括这个文件的md5,在本地下载完毕时进行md5

加密,将两个md5值进行比较.若一致则说明文件完整没有丢包现象


RSA加密算法

它是一种非对称加密算法,非对称加密算法需要两个密钥,一个公共密钥私有密钥.公钥和私钥是配对的,用公钥加密的数据只有配对的私钥才能解密(RSA对加密数据的长度有限制,一般为密钥的长度值为-11.要加密较长的数据,可以采用数据截取的方法分段加密.

使用场景:

1.文件或数据在本地使用公钥或者私钥加密,加密后的数据传送到服务器,服务器使用同一套密钥中的私钥或者公钥进行解密


AES加密算法

它是一种高级加密算法,是一种区块加密标准.它是一个对称密码,就是说加密和解密用相同的密钥.WPA/WPA2经常用的加密方式就是AES加密算法

上一篇 下一篇

猜你喜欢

热点阅读