目前有两种主流的加密方式——对称加密和非对称加密
对称加密算法
双方加密解密都用相同密钥的算法,我们称为对称加密算法。
对称加密的缺陷
你和用户之间如果使用对称加密,那么你需要为每个用户定时生成一个不同的密钥。这是因为,如果所有用户都用一个密钥,那么理论上一个用户就可以看到其他用户和网站之间的通信。有同学会问:以现在的技术给不同的客户端生成一个密钥难道有什么难度吗? 比如一个 UV 在 1000W 的网站,如果每天需要给每个用户生成一次密钥也就是 1000W 次计算,按照现在集群的能力,别说一天,每秒做到生成 1000W 个密钥又有什么难度呢?因此,我们还需要进一步思考对称加密的问题。
UV是指unique visitor,是指不同的、通过互联网访问、浏览一个网页的自然人。记录UV的时间标准一般可为一天,一个月。按照国际惯例,独立访客数记录标准一般为“一天”,即一天内如果某访客从同一个IP地址来访问某网站n次的话,访问次数计作n, 独立访客数则计作1。一般不计算年UV数。
一个访客(使用一个账号)使用多个设备(网络)访问会算为多个IP,同一个IP使用不同账号会算为多个UV。因此IP侧重于反应网络地址的差异,UV侧重于反应访问者的差异。
非对称加密
当我们开发一个网站,我们和用户之间的通信用非对称加密。用户发送请求时,用户用一把钥匙加密数据,网站用另一把钥匙解密。在这个过程中,网站拥有的钥匙称为私钥,用户拥有的钥匙称为公钥。之所以这样称呼,是因为很多用户可以共用一把公钥,而只有网站才拥有私钥。 此文章为10月Day01学习笔记,内容来源于极客时间《重学前端》,强烈推荐该课程