我爱java系列--【加密算法的介绍】
1.加密算法 加密算法种类有: 1.1.可逆加密算法 解释: 加密后, 密文可以反向解密得到密码原文. 1.1.1. 对称加密 【 文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥 】 解释: 在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊的加密算法处理后,使其变成复杂的加密密文发送出去,收信方收到密文后,若想解读出原文,则需要使用加密时用的密钥以及相同加密算法的逆算法对密文进行解密,才能使其回复成可读明文。在对称加密算法中,使用的密钥只有一个,收发双方都使用这个密钥,这就需要解密方事先知道加密密钥。 优点: 对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 缺点: 没有非对称加密安全. 用途: 一般用于保存用户手机号、身份证等敏感但能解密的信息。 常见的对称加密算法有 : AES、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6、HS256 1.1.2. 非对称加密 【 两个密钥:公开密钥(publickey)和私有密钥,公有密钥加密,私有密钥解密 】 解释: 同时生成两把密钥:私钥和公钥,私钥隐秘保存,公钥可以下发给信任客户端. 加密与解密: 私钥加密,持有私钥或公钥才可以解密 公钥加密,持有私钥才可解密 签名: 私钥签名, 持有公钥进行验证是否被篡改过. 优点: 非对称加密与对称加密相比,其安全性更好; 缺点: