对称加密和非对称加密

对称加密

在对称加密算法中,加密和解密使用的是同一把钥匙,只有一把私钥。

优点

算法简单,计算时间简单,加密解密高效

缺点

数据传输前发送方和接受方约定好密钥,如果一方被泄露,则数据传输就不安全了,另外,每次传输都要约定密钥,则会有大量的密钥需要管理和存储

算法

DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES

非对称加密

非对称加密算法加密和解密使用不同的密钥,公钥加密的密文,必须用相应的私钥来解密。

优点

安全,即使公钥被窃取,密文被拦截,没有私钥也不行。

缺点

算法复杂,计算成本高

算法

RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

Hash算法(摘要算法)

Hash算法特别的地方在于它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

常见的摘要算法有: MD2、MD4、MD5、HAVAL、SHA(SHA-128,SHA-256)

算法简述

DES-对称

(Data Encryption Standard)
是历史比较悠久的算法,IBM研究出来的,应用于银行和ATM等,破解方式只能蛮力搜索,用2的56次方种可能。

AES-对称

(Advanced Encryption Standard)高级加密标准,是DES的进阶,破解需要更久的时间

RSA-非对称

是三位发明者的名字命名的,这种加密方式非常安全,长度越长,越难破解
目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。
示例:github使用的就是rsa算法,在本地使用git 账户创建公钥和私钥,将公钥放在github上,私钥放在本地。

[

](https://blog.csdn.net/qq_29689487/article/details/81634057)