常用的安全算法

非对称加密算法又称为公开密钥加密算法 , 它需要两个密钥 , 一个称为公开密钥 (public key) , 即公钥 , 另一个称为私有密钥 (private key) , 即私钥 ; 公钥与私钥需要配对使用 , 如果用公钥对数据进行加密 , 只有用对应的私钥才能进行解密 , 而如果使用私钥对数据进行加密 , 那么只有用对应的公钥才能进行解密 ; 因为加密和解密使用的是两个不同的密钥 , 所以这种算法称为非对称加密算法 ; 非对称加密算法实现机密信息交换的基本过程是 : 甲方生成一对密钥并将其中的一把作为公钥向其它人公开 , 得到该公钥的乙方使用该密钥对机密信息进行加密后再发送给甲方 , 甲方再使用自己保存的另一把专用密钥 , 即私钥 , 对加密后的信息进行解密 ;

非对称加密与对称加密相比 , 其安全性更好 : 对称加密的通信双方使用相同的秘钥 , 如果一方的秘钥遭泄露 , 那么整个通信就会被破解 ; 而非对称加密使用一对秘钥 , 一个用来加密 , 一个用来解密 , 而且公钥是公开的 , 秘钥是自己保存的 , 不需要像对称加密那样在通信之前要先同步秘钥 ; 非对称加密的缺点是加密和解密花费时间长 , 速度慢 , 只适合对少量数据进行加密 ;

一般项目中比较常见的做法是用非对称算法来交换 对称加密算法的密钥 , 再用对称算法来加密数据 ;