加密支持包括对称密码、不对称密码、块密码和流密码
【对称加密】:特点是文件加密和解密使用相同的密钥加密,数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高
常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
Des和aes区别:aes高级加密标准,可能取代des,des易被破解
常用:AES
【非对称加密】:需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)
甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密的典型应用是数字签名
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
常用:RSA
Java使用RSA加密解密及签名校验:https://www.cnblogs.com/linjiqin/p/6005626.html
Hash算法(摘要算法)
Hash算法特别的地方在于它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
常见的Hash算法有MD2、MD4、MD5、HAVAL、SHA
Java 对称加密几种算法分别实现:https://www.jb51.net/article/102127.htm