http://www.cnblogs.com/whoislcj/p/5470095.html
二、可解密
1.对称加密:DES、3DES、AES(推荐)
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
美国数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合。
RSA是非对称算法,加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥。密钥尺寸大,加解密速度慢,一般用来加密少量数据,比如DES的密钥。
2.非对称加密:RSA(长度限制)
非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。
三、不可解密
1.不可逆加密算法:MD5(推荐)、SHA1
SHA1 和 MD5 是搜索散列算法,将任意大小的数据映射到一个较小的、固定长度的唯一值。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。MD5 比 SHA1 大约快 33%。
1.DES,3DES
概述:对称加密算法
优点:算法公开、计算量小、加密速度快、加密效率高
缺点:双方都使用同样密钥,安全性得不到保证
2.AES
概述:对称加密算法
优点:算法公开、计算量小、加密速度快、加密效率高
缺点:双方都使用同样密钥,安全性得不到保证
3.XOR
概述:异或加密:原字符或数字 m 与一个数值 k 进行异或运算得到结果 r ,则用 r 与 k 做异或运算即可还原到 m
优点:两个变量的互换(不借助第三个变量),简单的数据加密
缺点:加密方式简单
4.Base64
概述:算不上什么加密算法,只是对数据进行编码传输
5.SHA
概述:非对称加密算法。安全散列算法,数字签名工具。著名的图片加载框架Glide在缓存key时就采用的此加密
优点:破解难度高,不可逆
缺点:可以通过穷举法进行破解
6.RSA
概述:非对称加密算法,最流行的公钥密码算法,使用长度可变的秘钥
优点:不可逆,既能用于数据加密,也可以应用于数字签名
缺点:RSA非对称加密内容长度有限制,1024位key的最多只能加密127位数据
7.MD5
概述:非对称加密算法。全程:Message-Digest Algorithm,翻译为消息摘要算法
优点:不可逆,压缩性,不容易修改,容易计算
缺点:穷举法可以破解