05 2023 档案
摘要:PHP可以使用OpenSSL扩展进行非对称加密。主要步骤如下:1. 生成密钥对:使用openssl_pkey_new()和openssl_pkey_export()生成公钥和私钥。 php 1 $config = [ 2 "private_key_bits" => 2048, 3 "private_
阅读全文
摘要:常见的非对称加密算法有: RSA算法:最早提出的非对称加密算法,速度较慢但安全性高,密钥长度可达2048位。RSA使用乘法算术,加密和解密使用不同的密钥。RSA由三个数字(e,d,n)组成公钥和私钥。 ECC算法:椭圆曲线加密算法,密钥长度短,速度更快,安全性同RSA。ECC基于椭圆曲线离散对数问题
阅读全文
摘要:常见的加密算法有: AES:高级加密标准,对称加密算法,密钥长度128/192/256位,速度快,安全性高,目前最常用的对称加密算法之一。 DES:数据加密标准,对称加密算法,密钥长度56位,速度快但密钥太短安全性较差,已被AES算法取代。 3DES:增强版DES,使用3个不同的56位密钥,安全性比
阅读全文
摘要:分布式系统是建立在网络之上的多台计算机,这些计算机通过网络协调工作,共同完成某个任务的系统。 分布式系统具有以下主要特点: 多台计算机:由多台网络连接的计算机组成。 分布式数据存储:数据存放在多台计算机上,需要进行分布式数据管理。 分布式计算:任务在多台计算机上共同完成,需要进行负载均衡和协调。 无
阅读全文
摘要:HTTPS工作原理可以归纳为以下几点: 使用SSL/TLS协议对HTTP请求和响应进行加密,形成HTTPS。SSL/TLS协议需要使用数字证书和其他技术对通信数据进行加密和验证。 当客户端与服务器第一次建立连接时,会进行SSL握手。服务端向客户端发送数字证书,客户端验证证书的有效性和服务器的身份。如
阅读全文
摘要:HTTP和HTTPS都是用于网页访问的协议,但存在以下主要区别: 安全性:HTTPS协议是由SSL/TLS加密的HTTP协议。HTTPS在HTTP之上添加SSL/TLS层,使用数字证书和其他技术对通信数据进行加密,所以HTTPS是更安全的协议。 速度:HTTPS比HTTP略慢,因为HTTPS要加密和
阅读全文
摘要:RESTful是一种API设计风格,用于client和server之间的数据交互。它不是标准也不是协议,而是一组设计原则和约束条件。 RESTful的主要原则有: 使用HTTP方法:GET查询资源,POST创建资源,PUT更新资源,DELETE删除资源。 资源(Resources)设计:将API结构
阅读全文
摘要:网络请求的过程主要分为以下几步: 建立连接:客户端与服务器之间建立TCP连接,用于传输数据。 发送请求:客户端发送HTTP请求报文给服务器,包含请求方法、URL、协议版本、请求头等信息。 解析请求:服务器接收到请求后进行解析,获取客户端所需资源。 生成响应:服务器生成HTTP响应报文,包含状态码、响
阅读全文
摘要:TCP连接分为长连接和短连接两种,各有优缺点: 长连接: 优点: • 减少了建立和关闭连接的开销,提高了通信效率。 • 客户端和服务器之间可以使用会话和Cookie来维持状态,方便会话管理。 缺点: • 长时间占用资源,浪费空闲时间段的带宽等资源。 • 网络设备容易产生大量未被使用的connecti
阅读全文
摘要:TCP连接建立时采用三次握手,释放时采用四次挥手,目的是进行连接的建立和释放。 三次握手的过程: 客户端发送SYN消息,表示客户端准备建立连接。 服务器接收SYN消息,响应ACK消息(同时包含自己的SYN消息),表示服务器已接收客户端的SYN,也准备建立连接。 客户端接收到服务器的SYN+ACK消息
阅读全文
摘要:OOP和面向对象是两个相关但有所区别的概念: • OOP:Object Oriented Programming,面向对象程序设计。它是一种编程范式,封装了数据和行为在对象中的编程方式。许多语言如Java、Python和C++支持OOP。 • 面向对象:它是一种软件开发的思想或理论,将现实世界中的事
阅读全文
摘要:OOP是一种编程范式,它将真实世界中的事物抽象为对象,然后由对象之间的交互来实现程序的功能。 OOP的主要特征有: 封装:将对象的属性和方法封装在一起,隐藏实现细节。 继承:子类可以继承父类的属性和方法,同时可以添加自己的属性和方法。这允许我们重用代码。 多态:由继承而产生,使得子类可以重新定义父类
阅读全文
摘要:面向对象和面向过程是两种主流的编程范式,各有优缺点。 面向过程: 优点: • 执行效率高,没有额外的封装和继承的开销。 • 简单易理解,适合小规模项目。 缺点: • 不易维护和扩展,代码复用性差。 • 不能很好的映射真实世界的事物,不够抽象。 面向对象: 优点: • 易维护和扩展,代码复用性高,可重
阅读全文
摘要:面向对象是一种编程思想或编程范式。它将真实世界中的事物抽象成对象,然后由对象之间的交互来实现程序的功能。 面向对象的主要特征有: 封装:将对象的属性和方法封装在一起,对外隐藏实现细节。 继承:子类可以继承父类的属性和方法,同时可以添加自己的属性和方法。这允许我们重用代码。 多态:由继承而产生,使得子
阅读全文