什么是对称算法和非对称算法?
对称加密算法(symmetric algorithm):
      要求发送方和接收方在安全通信之前,商定一个密钥。加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。加密密钥和解密密钥是相同的。它的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密。对称加密的优点在于算法实现后的效率高、速度快,缺点在于不安全。常用的对称加密算法有DES,DEA等。
非对称加密算法(dissymmetrical encryption):
      通信过程中有两组密钥,即加密的密钥和解密的密钥。用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来。在这种加密算法中,加密密钥被叫做公开密钥(public key),而解密密钥被叫做私有密钥(private key)。加密密钥可以公开,即陌生人可以得到它并用来加密信息,但只有用相应的解密密钥才能解密信息。其优点在于用户不必记忆大量的提前商定好的密钥,因为发送方和接收方事先根本不必商定密钥,发放方只要可以得到可靠的接收方的公开密钥就可以给他发送信息了,即使双方根本互不相识;其缺点在于算法实现后的效率低、速度慢。常用的非对称加密算法有RSA等。