前言
我们在做java
项目开发的时候,在前后端接口分离模式下,接口信息需要加密处理,做签名认证,还有在用户登录信息密码等也都需要数据加密。信息加密
是现在几乎所有项目都需要用到的技术,身份认证、单点登陆、信息通讯、支付交易等场景中经常会需要用到加密算法,所谓加密算法,就是将原本的明文通过一系列算法操作变成密文。
-
BASE
严格地说,属于编码格式,而非加密算法
MD
(Message Digest algorithm ,信息摘要算法)
SHA
(Secure Hash Algorithm,安全散列算法)
HMAC
(Hash Message Authentication Code,散列消息鉴别码) -
加密算法中
SHA1、SHA-224、SHA-256、SHA-384
,和SHA-512
,其中SHA-224、SHA-256、SHA-384
,和SHA-512
我们可以统称为SHA2
加密算法 -
SHA
加密算法的安全性要比MD5
更高,而SHA2
加密算法比SHA1
的要高。其中SHA
后面的数字表示的是加密后的字符串长度,SHA1
默认