为什么要使用加密算法:
在开发的过程中,为了能够保证程序能够安全高效运行,数据信息不被泄露,我们通常都会对要操作的数据就行加解密,从而提高程序的安全性。比如常见的客户端和后台服务器的数据交互传输,我们通常都会对服务器返回的数据进行解密,服务器返回给用户的数据进行加密,客户端提交的数据也会加密之后提交给后台服务器,后台服务器会按照对应的规则进行解密或者加密的传输,尤其是做金融项目的,数据接口的操作,更需要进行加密交互。
如何实现加密了:
具体的实现方式更具使用的方式不同,总结一下可以安全实现加解密的方式如下三种
1.JDK 方式
2.Commons Codec 方式
3.Bouncy Castle 方式
这三种方式不具体到来了,具体的可以自己上度娘。
按照算法的分类,又可以分为以下的几种方式,而每一种方式都又多种加密方式,同时,有的算法又有几种实现方式。
算法的分类:
大概有如下几类算法:
一。非对称加密算法:
算法的类型: 1.DH 2.RSA 3.ElGamal
二。Base64
实现方式: 1.JDK实现 2.common codes实现 3.bouncy castle实现
三。消息摘要算法
算法的类型:1.MD5 2.SHA 3.MAC
四。数字签名:JDK实现方式
1.RSA 2.DSA 3.ECDSA
五。对称加密算法:
1.3DES 2.AES 3.PBE 4:DES
好了,学到这里,我们对算法的类别和实现方式都有了很清楚的认识,在接下来的几篇里,我会对这五类算法给出详细的代码,具体的概念性东西,说的再多,不如大家自己动手去理解。