学无先后,达者为师

网站首页 编程语言 正文

强制缓存和协商缓存的区别是什么?对称、非对称加密的区别是什么?

作者:木土雨成 更新时间: 2022-08-28 编程语言

在 HTTP 的使用中,我们经常会遇到两种缓存:强制缓存和协商缓存

强制缓存

请求过一次不需要再次发送请求的缓存模式,在 HTTP 协议中称为强制缓存
当一个文件被强制缓存后,下一次请求会直接使用本地版本,而不会真的发出去;使用强制缓存时要注意,千万别把需要动态更新的数据强制缓存。一个负面例子就是小明把获取用户信息数据的接口设置为强制缓存,导致用户更新了自己的信息后,一直要等到强制缓存失效才能看到这次更新

协商缓存

第一次获取接口数据,会将数据缓存到本地,并存储下数据的摘要;
第二次请求时,浏览器检查到本地有缓存,将摘要发送给服务端。服务端会检查服务端数据的摘要和浏览器发送来的是否一致;如果不一致,说明服务端数据发生了更新,服务端会回传全部数据;如果一致,说明数据没有更新,服务端不需要回传数据。

和强制缓存相比,协商缓存的代价是需要多发一次请求。

对称加密

双方加密解密都用相同密钥的算法,我们称为对称加密算法
在实际的操作过程当中,因为都是针对二进制的操作,取补操作可以用异或操作来替代;另外,在其中的某些步骤还可以拿数据和密钥进行位计算,具体不同加密算法实现不同。
数据加密标准(DES)
高级加密标准(AES)
使用对称加密双方都知道密钥和算法,会造成很多问题:如果你是一个网站提供服务给用户,你和用户之间如果使用对称加密,那么你需要为每个用户定时生成一个不同的密钥。这是因为,如果所有用户都用一个密钥,那么理论上一个用户就可以看到其他用户和网站之间的通信

非对称加密

为了进一步提升安全系数,数学家还提出了非对称加密。在非对称加密中,加密和解密用的不是一个密钥
在非对称加密中,密钥通常由提供服务的一方创建。每次创建是一对公私钥对,然后提供者将公钥给用户,自己保留私钥

常见非对称加密算法
目前最常见且广泛使用的非对称加密算法是 RSA 算法。RSA 依赖的是大整数的分解,以及一些和素数相关的算法。目前没有理论可以破译 RSA 算法。总体来说,RSA 密钥越长破解成本就越高,因此仍然被广泛使用。其他的非对称加密算法还有 DSS、EIGamal 等。

所以对称、非对称加密的区别是
对称加密和解密可以用同一套密钥。非对称加密利用数学的方法生成公私钥对,公钥加密的数据私钥可以解密,私钥加密的数据公钥可以解密。但是公钥不能解密公钥加密的数据,私钥也不能解密私钥加密的数据。

原文链接:https://blog.csdn.net/qq_41780297/article/details/126561901

栏目分类
最近更新