Base64
Base64最早应用于解决电子邮件传输的问题。
Base64基于64个字符的编码算法,(A-Z,a-z,0-9,+/=)最后一个字符是等号,它是用来补位的。
消息摘要算法
消息摘要算法包含MD(Message Digest,消息摘要算法)、SHA(Secure Hash Algorithm,安全散列算法)和MAC(Message Authentication Code,消息认证码算法)共3大系列,常用于验证数据的完整性,是数字签名算法的核心算法。
消息摘要算法一直是非对称加密算法中一项举足轻重的关键性算法。
消息摘要算法又称为散列算法,其核心在于散列函数的单向性。通过散列函数可得到对应的散列值,不可反推。
MD5
MD5算法是典型的消息摘要算法,其前身有MD2、MD3和MD4算法。不论是哪种MD算法,都需要获得一个随机长度的信息并产生一个128位的信息摘要。
SHA
SHA算法基于MD4算法基础上,新一代的消息摘要算法。与MD算法不同之处在于摘要长度,SHA算法的摘要长度更长,安全性更高。
SHA算法目前共有SHA-1、SHA-224、SHA-256、SHA-384和SHA-512五种算法,通常将后四种算法称为SHA-2算法。
MAC
对称加密算法
对称密码体制要求加密与解密使用同一个共享密钥,解密是加密的逆运算。
DES
三重DES
AES
非对称加密算法
非对称密码体制的加密密钥和解密密钥不相同,分为公钥与私钥。
RSA
第一个既能用于数据加密也能用于数字签名的算法。
数字签名算法
数字签名算法可以看做是一种带有密钥的消息摘要算法,并且这种密钥包含了公钥和私钥。也就是说,数字签名算法是非对称加密算法和消息摘要算法的结合体。
RSA
DSA
ECDSA
数字证书
安全协议
HTTPS协议(附加了SSL/TLS协议的HTTP协议)为数字证书提供了最佳的应用环境。
参考
- 《Java加密与解密的艺术》