常用加密算法的Java实现总结(一)——单向加密算法MD5和SHA
常用加密算法的Java实现总结(二)——对称加密算法DES、3DES和AES
加密(encryption)解密(decryption)密钥(secret key)
对称加密:
加密与解密用的是同样的密钥。在发送密钥的过程中,密钥有风险会被拦截。通常的做法是将密钥进行非对称加密,然后传送给需要它的人。
非对称加密:
公钥加密只能私钥解,私钥加密只能公钥解开。
数字证书:
CA组织对公钥颁发一个数字证书来验证公钥的合法性。
数据指纹:
每份数据通过MD5得要一个数据指纹。
数字签名:
用私钥对数据指纹的加密。
CA:
密码的安全必须基于一个基础信任点,认为CA组织颁发的数字证书是安全。
简单实例:
A,B进行通信,AB各有一套公钥私钥,公钥交给对方给自己发生数据(私钥解密),为了确定对方的公钥是否合法需要CA颁发数字签名验证,这样虽然不能被别人解析加密数据,但是却可以通过公钥向对方发送加密信息,为了确保是对方发送的数据,将发送的数据指纹用私钥进行加密即数字签名,同时发生给对方。对方用过公钥得到数据指纹和解密后的数据指纹对比,确定数据的真确性。
(MD5:公钥:私钥:)略
原文:http://www.cnblogs.com/straybirds/p/6339257.html