快速集成Android最常用八种加密算法

原文地址: https://blog.csdn.net/u013718120/article/details/56486408


数据的安全性可谓是重中之重的,前两年大司频发的安全事件也是被炒的热火朝天~究竟该如何增强数据安全性,我们来唠唠。

安全,范围大的让人喘不过气来,关于安全的知识以及如何防范,暂时先不涉入,踩得深了头皮容易发麻。我们就从最简单的加密来扯扯。

加密算法已封装成library库,并对流程做了详细注释,同时实现了RSA的分段加密和填充加密,MD5的多次加密和加盐加密。已分享到github,大家可以follow,fork,快速引用到自己的项目中使用即可,开心的同时别忘了给个star吐舌头 哦~

加密工具 library 库

本文仍然围绕以Android平台的加密来分析。大概总结了8种常用的加密方法,并以流程清晰展示,方便快速上车!driving~

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,翻译为消息摘要算法

  优点:不可逆,压缩性,不容易修改,容易计算

  缺点:穷举法可以破解

从上述简单的介绍,我们发现,算法分为了两大类:

(1)对称加密算法

(2)非对称加密算法

各自的特点也一目了然:

(1)对称加密算法可以互逆,即通过key加密,也可以通过key来解密

(2)非对称加密则不可互逆

相信这样简洁的总结,让你轻松了解了每个加密算法的优缺点以及使用场景。见到面试官也不怕啦

猜你喜欢

转载自blog.csdn.net/chenhuakang/article/details/80223324