1,AES加解密
AES,Advanced Encryption Standard,高级加密标准。采用对称密钥,秘钥长度支持128,192,256。是一种分组密码,说是为了取代DES,DES之前统治20多年,因为其被打败过几次,而且计算速度很慢,所以被AES取代了。
有四种类型:ECB,CBC,CFB,OFB。AES的加解密算法有很多轮的重复和变换。
加密算法工作过程比较复杂,更考验人的数学功底,但是需要知道的是,加解密算法的过程是不叫复杂且消耗性能的,所以一般能绕过就绕过加解密吧,除非安全必需。
2,RSA加解密
非对称加密算法,一般证书服务会用到。既用于加密,也用于数字签名。是三个发明者的名字首字母命名。是目前最流行的公开密钥算法。RSA的密码难于破解,它有一对密码PK(公钥)。SK(私钥)。
PK和SK是不同的密钥,PK是公开的,SK是保密的,加解密算法也都是公开的,不能根据PK计算出SK。
实用场景:比如后台接口给你个PK,数据经过加密后传递数据给后台,后台通过SK进行解密获取。
那么PK的截取就显得很重要,来看这样一种情况:A和B在通信,C进行中间的攻击,所以公钥的分配显得尤为重要。
可以看出,A和B都不知道C在中间监听,可以用数字证书来防止类似攻击。速度一直是RSA的缺陷,所以一般只用于少量数据的加密。
一般是酱紫工作的:A和B都有一对PK和SK,互相告知对方的PK,然后通过自己的SK进行解密。其他人就算收到PK,没有SK也是没办法解密的。这种情况,上面C也可以劫持双方的PK,进行数据劫持。
【敲黑板】:后台加密两种算法都尝试了下,发现使用rsa加密速度远远落后于aes加密,大概八倍多速度差,所以最终还是选择了使用aes加密方式!
数字证书:网络通信过程中标志通讯身份信息的一串数字,可以理解为在数字身份证上的一个签名,可以在网上用它来识别对方身份。数字证书绑定了公钥和持有者的真实身份,类似于现实生活中的身份证。
【不定期更新】