防御—IPsecVPN

news2024/11/19 23:41:45

目录

1. 什么是数据认证,有什么作用,有哪些实现的技术手段?

数据认证的主要作用包括:

实现数据认证的主要手段包括:

2. 什么是身份认证,有什么作用,有哪些实现的技术手段?

3. 什么VP恩技术?

具体来说,VPN技术可以通过以下方式工作:

4. VP恩技术有哪些分类?

5. IPSEC技术能够提供哪些安全服务?

6. IPSEC的技术架构是什么?

​编辑7. AH与ESP封装的异同?

传输模式:

隧道模式:

鉴别头AH(Authentication Header)协议

AH报文格式

鉴别过程

封装安全净荷ESP(Encapsulating Security Payload)协议

ESP报文格式

8. IKE的作用是什么?

9. 详细说明IKE的工作原理?

安全联盟,iskmp sa。

主模式

野蛮模式

10. IKE第一阶段有哪些模式?有什么区别,使用场景是什么?

IKE第一阶段

预共享密钥

证书(数字签名)

野蛮模式仅交换3个消息

主模式和野蛮模式对比

IKE第二阶段

11.简单的IPsecVPN配置

拓扑

​编辑

配置:

R1:

R2:

R3:

抓包:


1. 什么是数据认证,有什么作用,有哪些实现的技术手段?

在计算机和网络安全领域中,数据认证是指验证数据在传输和存储过程中的完整性、真实性和合法性的过程。数据在传输和存储过程中容易受到数据篡改、损坏或未经授权的访问和修改的风险,数据认证可以帮助防止这些风险并提高数据的安全性和可靠性。

数据认证的主要作用包括:

防止数据被篡改和损坏:通过数据认证可以验证数据的完整性,确保数据没有被篡改或损坏。

防止未经授权的访问和修改:数据认证可以验证数据的真实性和合法性,确保只有经过授权的用户才能访问和修改数据。

提高数据的可靠性:数据认证可以提高数据的安全性和可靠性,保证数据的准确性和一致性。

实现数据认证的主要手段包括:

数字签名:数字签名是一种基于公钥密码学的技术,用于验证数据的真实性和完整性。数字签名使用私钥对数据进行签名,公钥用于验证签名的有效性。

散列函数:散列函数将数据映射为一个固定长度的散列值,不同的数据映射为不同的散列值。通过比较散列值,可以验证数据是否被篡改或损坏。

消息认证码:消息认证码是一种对数据进行加密和认证的技术,它使用一个密钥和一组算法,将数据转换为一个固定长度的认证标记,用于验证数据的完整性和真实性。

数字证书:数字证书是一种用于验证身份和保护通信安全的数字凭证。数字证书可以包含用户的公钥、身份信息和数字签名,用于验证数据的真实性和合法性。


2. 什么是身份认证,有什么作用,有哪些实现的技术手段?

身份认证是指确认一个实体是其所声称的实体的过程。在计算机和网络安全领域中,身份认证通常指通过验证用户提供的凭证(如用户名和密码、数字证书、生物特征等)来确认用户的身份。

身份认证的作用是保护计算机和网络系统中的敏感信息和资源,防止未经授权的用户访问和操作。身份认证可以用于许多场景,例如:

在网上购物或银行业务中,用户需要进行身份认证才能保护其账户和支付信息的安全;

在企业网络中,身份认证可以确保只有经过授权的用户才能访问敏感信息和资源;

在政府或军事系统中,身份认证可以保护国家机密和重要信息的安全。

实现身份认证的主要手段包括:

用户名和密码:这是最常用的身份认证方式,用户提供用户名和密码以确认其身份。用户名和密码可以在本地存储或使用加密技术进行传输和存储。

数字证书:数字证书是一种用于验证身份的数字凭证。数字证书通常包含用户的公钥、身份信息和数字签名,可以用于验证用户身份和保护通信的安全性。

双因素认证:双因素认证要求用户提供两个或多个凭证进行身份认证,通常是密码和一次性验证码、指纹等。

生物特征认证:生物特征认证使用用户的生物特征(如指纹、面部识别、虹膜扫描等)来进行身份认证。这种方式不需要用户记忆密码,但需要专门的硬件和软件支持。


3. 什么VP恩技术?

VPN(Virtual Private Network,虚拟私人网络)技术是一种通过公共网络(如互联网)建立安全连接的技术。它可以通过加密和隧道技术,为用户提供一个安全、私密的网络连接,实现远程访问、数据传输、保护隐私等功能。

具体来说,VPN技术可以通过以下方式工作:

加密:VPN技术使用加密技术对数据进行加密,确保数据在传输过程中不会被窃取或篡改。加密算法通常使用AES、DES等强加密算法,以保护数据的安全。

隧道:VPN技术使用隧道技术将数据包装在一个安全的通道中进行传输,确保数据不会在传输过程中被劫持或篡改。隧道技术可以使用多种协议实现,如PPTP、L2TP、IPSec等。

认证:VPN技术使用认证技术对用户进行身份验证,以确保只有经过授权的用户才能访问网络。认证技术通常包括用户名和密码、数字证书、双因素认证等。

通过使用VPN技术,用户可以在不受限制的公共网络上访问私人网络,实现远程访问企业内部系统、保护隐私、绕过地理限制等功能。VPN技术已经广泛应用于企业、政府、个人等领域,成为保护网络安全和隐私的重要工具。


4. VP恩技术有哪些分类?

  1. 按VPN的协议分类
  2. VPN的隧道协议主要有三种,即PPTP、L2TP和IPSec,其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议;IPSec是第三层隧道协议。

还有一种基于SSL的VPN技术。SSL协议位于TCP/IP协议与各种应用层协议之间,是目前最常用的VPN形式。

  1. 按VPN的应用分类
    根据VPN网络的应用可以将VPN分为三类:Client-LAN类型、LAN-LAN类型、ExtranetVPN类型。

(1)Client-LAN类型的VPN也称为Access VPN(远程接入VPN),即远程访问方式的VPN。

它提供了一种安全的远程访问手段,使用公网作为骨干网在设备之间传输VPN数据流量。例如,出差在外的员工,有远程办公需要的分支机构,都可以利用这种类型的VPN,实现对企业内部网络资源进行安全的远程访问。

(2)LAN-LAN类型的VPN,也称为Intranet VPN(内联网VPN),网关到网关,通过公司的网络架构连接来自同公司的资源。

为了在不同局域网之间建立安全的数据传输通道,例如在企业内部各分支机构之间或者企业与其合作者之间的网络进行互联,可以采用LAN-LAN类型的VPN。而采用LAN-LAN类型的VPN,可以利用基本的Internet和Intranet网络建立起全球范围内物理的连接,再利用VPN的隧道协议实现安全保密需要,就可以满足公司总部与分支机构以及合作企业间的安全网络连接。

(3)Extranet VPN(外联网VPN)即与合作伙伴企业网构成Extranet,将一个公司与另一个公司的资源进行连接,这和第一种VPN类似。

  1. 按所用的设备类型进行分类
    网络设备提供商针对不同客户的需求,开发出不同的VPN网络设备,主要为交换机、路由器和防火墙。

(1)交换机式VPN:主要应用于连接用户较少的VPN网络。

(2)路由器式VPN:路由器式VPN部署较容易,只要在路由器上添加VPN服务即可。

(3)防火墙式VPN:这是最常见的一种VPN的实现方式,许多厂商都提供这种配置类型。


5. IPSEC技术能够提供哪些安全服务?

IPsec(Internet Protocol Security)是一种网络安全协议,它提供了一系列的安全服务,包括:

认证(Authentication):确保通信的两个实体是真实的,并且不会被伪装或篡改。IPsec提供了两种认证机制:预共享密钥和数字证书。

加密(Encryption):将数据进行加密,防止数据在传输过程中被窃听或篡改。IPsec提供了两种加密算法:DES和AES。

完整性保护(Integrity Protection):防止数据在传输过程中被篡改,确保数据的完整性。IPsec使用消息摘要算法(例如SHA-1或SHA-256)来实现完整性保护。

防重放攻击(Anti-replay):防止攻击者在通信过程中重复发送已经被发送过的数据包。IPsec通过序列号来防止重复数据包的发送。

访问控制(Access Control):限制对网络资源的访问,保护网络的机密性和完整性。IPsec使用访问控制列表(ACL)来实现访问控制。

综上所述,IPsec是一个功能强大的安全协议,它可以为网络通信提供多种安全服务,包括认证、加密、完整性保护、防重放攻击和访问控制等。


6. IPSEC的技术架构是什么?



7. AH与ESP封装的异同?

传输模式:

隧道模式:

​ 那么前面所提到的防重放攻击是怎么做到的呢。ESP报文或AH报文就会采用序号来防止重放攻击。在建立安全关联时,序号初始值会设置为0。源端发送AH报文会ESP报文,会先将序号增1。在安全关联的寿命内,不允许出现相同的序号。由于报文的到达也会有先后顺序,所以会设置一个防重放窗口,在规定窗口内到达的序号是合规的,但是如果小于窗口中允许的最小的那个序号值,那就可能是重放攻击了。

鉴别头AH(Authentication Header)协议

AH报文格式

传输模式下的AH报文封装

隧道模式下的AH报文封装

​ 首先两种模式,在IP协议的首部字段会与普通IP报文区分开。

  • 在传输模式下,IP首部中的协议字段值为51,表示AH报文

  • 在隧道模式下,就有两个IP首部了,在新IP包头首部的协议字段值仍未51,表示AH报文

鉴别首部AH格式:

  • 下一个首部:

    • 在传输模式下,该字段值为IP报文中原本的数据净荷的协议类型,比如原来包的TCP报文,那么这个字段值就为6

    • 在隧道模式下,该字段值为表示净荷是隧道格式的协议字段值。

  • 鉴别首部长度:以32位为单位给出AH的总长度

  • 安全参数索引SPI:接收端将其和AH报文的目的IP地址和IP首部(隧道模式下的外层IP首部)中IPsec协议类型一起用于确定AH报文所属的安全关联

  • 序号:用于防重放攻击

  • 鉴别数据:消息鉴别码MAC,用于鉴别源端身份和实现数据完整性检测。其鉴别算法可采用MD5或SHA-1,鉴别算法和鉴别密钥都是在之前约定的,是在建立安全关联时所协商的。

鉴别过程

​ 那么AH报文是如何实现源端鉴别和完整性检测过程的呢,其源端鉴别由消息鉴别码的共享密钥来实现,完整性检测则是由消息鉴别码本身所实现。

​ 但要注意,在传输模式下和隧道模式下要用报文摘要算法加密的数据是有所区别的。

​ 在传输模式下,包括IP首部,IP净荷和AH中除鉴别数据以外的其他字段。

​ 在隧道模式下,包括外层IP首部,包括内层IP首部在内的整个IP分组和AH中除鉴别数据以外的其他字段。

封装安全净荷ESP(Encapsulating Security Payload)协议

ESP报文格式

传输模式下的ESP报文:

隧道模式下的ESP报文:

​ 同样,在IP首部中的协议字段值为50,表示净荷协议ESP报文。

封装安全净荷ESP格式:

​ 其字段构成跟AH是差不多的,都由安全参数索引、序号、下一个首部和鉴别数据组成。


8. IKE的作用是什么?

  • 协商封装协议以及工作模式
  • 协商加密算法和加密算法
  • 协商密钥参数---密钥生成算法,密钥有效期,密钥分发者身份认证,密钥长度,认证算法
  • 为ipsec通信双方,动态的建立安全联盟SA,对SA进行管理与维护。

  • 为ipsec生成密钥,提供AH/ESP加解密和验证使用


9. 详细说明IKE的工作原理?

IKE经过两个阶段为ipsec进行密钥协商并建立安全联盟:

第一个阶段:通信各方彼此之间需要建立一个已通过身份验证和安全保护的通道,交换建立一个iskmp

安全联盟,iskmp sa。

主模式

野蛮模式

第二个阶段:用已经建立的安全联盟 iskmp sa(ike sa)的安全通道为ipsec协商安全服务,建立ipsec sa,产生用于业务数据加密的密钥


10. IKE第一阶段有哪些模式?有什么区别,使用场景是什么?

IKE第一阶段

IKE的精髓在于它永远不在不安全的网络上直接传送密钥,而是通过一系列的计算,双方最终计算出共享密钥,并且即使第三方截获了交换中的所有数据,也无法计算出真正的密钥。其中的核心技术就是DH交换算法。

IKE协商第一阶段,参与通信的双方会生成4个秘密:

SKEYID:后续三个都建立在它的基础上,由它推算出。

SKEYID_d:用于为ipsec衍生出加密的材料。

SKEYID_a:用来为IKE消息保障数据的完整性以及对数据源的身份进行验证。

SKEYID_e:为后续的IKE协商及IPSEC SA协商进行加密。

SKEYID的生成取决于使用哪种验证算法,常用的有1)预共享密钥;2)证书(数字签名)

主模式采用三次交换,共交换6条信息

在消息发送之前,协商发起者和响应者必须计算产生cookie,用于唯一标识每个单独的协商交换,cookie使用源/目的ip地址、随机数字、日期和时间进行MD5计算得出,并且会被放入消息1的ISAKMP头中,用于标识一个单独的协商交换。

预共享密钥

1)消息1和消息2:策略协商,交换双方的cookie和SA载荷。

消息1:协商发起者在SA载荷中携带协商IKE SA的各项参数(5元组),包括IKE的散列类型、加密算法、认证方法、DH组、SA存活期。

消息2:响应者查看IKE策略消息,在本地寻找与之匹配的策略,找到后发回一条消息去响应。

第一次交换后,通信双方生成用于产生DH共享密钥的DH值。生成方法是双方各自使用一个随机数字,通过DH算法对随机数字进行计算得出一个DH值Xa和Xb,然后双方再根据DH算法各得出一个伪随机值值Ni和Nr。

2)消息3和消息4:DH交换和伪随机值nonce交换

这一过程中,双方交换Xa和Xb,并通过交换所得的对方的DH值(Xa或Xb)与自己计算的随机值(Ni或Nr)进行运算就可以得到一个只有双方知道的共享秘密。

此共享秘密并不进行传输,传输的是DH值,即使被第三方截获了也无法计算出共享秘密。

第二次交换后,生成密钥SKEYID,SKEYID_d,SKEYID_a,SKEYID_e所需的各种材料都已被交换或计算出来,就可以得出这些密钥。

3)消息5和消息6:双方身份验证

第三次交换对标识载荷和散列载荷进行交换,标识载荷包含了发起者的标识信息,IP地址或者主机名。散列载荷包含对上一过程中产生的三组密钥进行hash运算得出的值。这两个载荷使用SKEYID_e进行加密。交换后如果双方散列载荷中的hash值相同,那么双方认证成功。IKE第一阶段主模式共享密钥方式交换也就完成了。

证书(数字签名)

如果是采用证书认证方式,不同的是SKEYID的计算公式和第三阶段的交换方式。下面说一下主模式第三次交换中消息负载的发送:

证书方式下第三次交换的消息比预共享密钥的消息多两个载荷:

签名载荷:使用自己的私钥加密部分消息的hash值,然后使用SKEYID_e加密发送给对方;

证书载荷:将自己的证书使用SKEYID_e加密后发送给对方。

野蛮模式仅交换3个消息

野蛮模式协商过程中,第1条消息发起者发送5元组,DH公共值(上文中的Xa或Xb),随机值nonce(上文中的Ni或Nr)以及身份资料。第2条消息响应者回应一个选定的5元组,DH公共值,nonce,身份材料以及一个验证载荷:对于预共享密钥来说是一个散列载荷,对于证书认证来说是一个签名载荷。第3条消息发起者发送一个验证载荷。

主模式和野蛮模式对比

野蛮模式由于在第一个消息中就携带了身份信息,本身无法对此进行保护,降低了协商的安全性,但也因此使其不依赖于ip地址身份标识,有了更多的灵活应用。

1)对等体标识:主模式只能采用ip地址方式标识对等体,而野蛮模式可以采用ip地址或name;

2)NAT支持:主模式不支持NAT转换,野蛮模式支持。

3)野蛮模式传输的消息少,效率更高。

IKE第二阶段

无论第一阶段采用哪种模式,其目的都是进行身份认证并为第二阶段的交换提供保护。第二阶段的目的是生成ipsec SA.采用快速模式,交换3个消息。

快速模式使用SKEYID_a保障数据的完整性以及对数据源的身份进行验证;使用SKEYID_e整个协商过程进行加密。需要协商出SA的各项特征。快速模式需要从SKEYID_d中衍生出用于生成ipsec SA的密钥。

11.简单的IPsecVPN配置

拓扑

配置:

R1:

AR1的配置

第一步 配置感兴趣流
acl number 3000  
 rule 1 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255  
 


第二步 配置IKE SA的安全提议
ike proposal 1  //安全提议编号
 encryption-algorithm aes-cbc-128  //加密算法
 dh group5   //DH算法
 authentication-algorithm md5  //认证算法
 authentication-method pre-share  //认证模式
 sa duration 3600  //密钥周期

第三步 配置IKE SA的身份认证信息
ike peer yyy v1  
 exchange-mode main   //设置为主模式
 pre-shared-key simple 999  //预共享密钥
 ike-proposal 1  //调用安全提议编号
 remote-address 23.1.1.1  //对方IP地址
 

ike peer yyy v1
 exchange-mode aggressive  //设置为野蛮模式
 pre-shared-key simple 999
 ike-proposal 1
 local-id-type name  //定义本地ID为name
 remote-name kkk   //远程ID是 kkk
 remote-address 23.1.1.1
 
ike local-name kkk  //全局定义本地ID 
 
第四步 配置IPSEC的提议安全参数 
 ipsec proposal yyy
 esp authentication-algorithm sha1  //封装与认证算法
 esp encryption-algorithm 3des  //封装与加密算法
 encapsulation-mode tunnel   //封装模式
 
第五步  配置安全策略集
ipsec policy yyy 1 isakmp   //定义安全策略集编号与协议
 security acl 3000   //调用感兴趣流
 ike-peer yyy   //调用身份认证信息
 proposal yyy  //调用IPSEC SA 提议
 
第六步  在接口调安全策略集
interface GigabitEthernet0/0/0
 ip address 12.1.1.1 255.255.255.0 
 ipsec policy yyy  //在公网接口调用策略集

ip pool dhcp
 gateway-list 192.168.1.1 
 network 192.168.1.0 mask 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.1 255.255.255.0 
 dhcp select global
#
ip route-static 0.0.0.0 0.0.0.0 12.1.1.2
#

R2:

interface GigabitEthernet0/0/0
 ip address 12.1.1.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 23.1.1.2 255.255.255.0 

R3:

AR3的配置

第一步 配置感兴趣流
acl number 3000  
 rule 1 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.3.0 0.0.0.255  
 


第二步 配置IKE SA的安全提议
ike proposal 1  //安全提议编号
 encryption-algorithm aes-cbc-128  //加密算法
 dh group5   //DH算法
 authentication-algorithm md5  //认证算法
 authentication-method pre-share  //认证模式
 sa duration 3600  //密钥周期

第三步 配置IKE SA的身份认证信息
ike peer yyy v1  
 exchange-mode main   //设置为主模式
 pre-shared-key simple 999  //预共享密钥
 ike-proposal 1  //调用安全提议编号
 remote-address 12.1.1.1  //对方IP地址
 

ike peer yyy v1
 exchange-mode aggressive  //设置为野蛮模式
 pre-shared-key simple 999
 ike-proposal 1
 local-id-type name  //定义本地ID为name
 remote-name kkk   //远程ID是 kkk
 remote-address 12.1.1.1
 
ike local-name kkk  //全局定义本地ID 
 
第四步 配置IPSEC的提议安全参数 
 ipsec proposal yyy
 esp authentication-algorithm sha1  //封装与认证算法
 esp encryption-algorithm 3des  //封装与加密算法
 encapsulation-mode tunnel   //封装模式
 
第五步  配置安全策略集
ipsec policy yyy 1 isakmp   //定义安全策略集编号与协议
 security acl 3000   //调用感兴趣流
 ike-peer yyy   //调用身份认证信息
 proposal yyy  //调用IPSEC SA 提议
 
第六步  在接口调安全策略集
interface GigabitEthernet0/0/0
 ip address 23.1.1.1 255.255.255.0 
 ipsec policy yyy  //在公网接口调用策略集

ip pool dhcp
 gateway-list 192.168.2.1 
 network 192.168.2.0 mask 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.2.1 255.255.255.0 
 dhcp select global
#
ip route-static 0.0.0.0 0.0.0.0 23.1.1.2

抓包:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1062336.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java小游戏:趣味猜数字

👑专栏内容:Java⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、游戏介绍二、输入输出1、输出的控制台2、从键盘上输入 三、随机数生成四、游戏实现 Hello!我们来用前面学过的东…

python执行pip指令时,提示“You should consider upgrading……”的解决方法

警告信息如下: WARNING: You are using pip version 21.1.2; however, version 21.3.1 is available. You should consider upgrading via the C:\Users\PycharmProjects\pythonProject\venv\Scripts\python.exe -m pip install --upgrade pip command.解决方法&am…

PsychoPy Coder 心理学实验 斯特鲁普效应

选题:斯特鲁普效应实验 选题来源:你知道的「有趣的心理学实验」有哪些? - 知乎 (zhihu.com) 测试目标:探索斯特鲁普效应,即被试在判断文字颜色时,当文字的颜色与其所表示的颜色名称不一致时,是…

JS-Dom转为图片,并放入pdf中进行下载

1、将dom转换为图片 这里我们使用html2canvas工具插件先将dom转为canvas元素然后canvas拥有一个方法可以将绘制出来的图形转为url然后下载即可注意:如果元素使用了渐变背景并透明的话,生成的图片可能会有点问题。我下面这个案例使用了渐变背景实现元素对…

LLM下半场之Agent基础能力概述:Profile、Memory、Plan、Action、Eval学习笔记

一.Agent发展将会是LLM的下半场 目前大家都在讨论LLM,LLM解决的问题是帮助机器像人类一样理解彼此的意图,本质上来讲,LLM更像是一个技术或者工具。但是人类社会发生变革的引线,往往是一个产品或者解决方案,比如电池技…

润滑油泵控制(博途SCL源代码)

有关博途PLC定时器的各种使用方法请参考下面文章链接: 博途PLC IEC定时器编程应用(SCL语言)_博图 定时器-CSDN博客博途PLC定时器支持数据类型TIME 类型 ,写法支持T#2M10S 、T#10S等,时基是MS所以如果设置1M用 DINT数据类型就是60000,大部分HMI上数据类型很多不支持IEC的…

IDEA中maven无法下载依赖解决方案

如果你尝试了很多网上的办法 仍然没有解决 那么很有可能和我一样碰到**了,解决办法千奇百怪, 解决之前(山丹丹的那个红艳艳)都没我屏幕红,本人试了一下几种 1、检查maven配置 settings.xml(应该都没问题)&#xff0c…

微信公众号模板消息First,Remark字段不显示,备注字段不见了

今天在开发公众号过程中有个需求发模板消息我设置的如下 成绩单打印通知!姓名:{{name.DATA}} 学号:{{stuid.DATA}}状态:{{status.DATA}}时间:{{date.DATA}} 备注:{{remark.DATA}} 然后发完通知发现《…

AtCoder Beginner Contest 232(A-G)

A - QQ solver (atcoder.jp)直接按题意模拟即可。 B - Caesar Cipher (atcoder.jp)按题意模拟即可 C - Graph Isomorphism (atcoder.jp)按题意模拟即可 D - Weak Takahashi (atcoder.jp) 一个非常套路的网格dp E - Rook Path (atcoder.jp) (1)题意 有…

C++ stack和queue及优先级队列

stack的介绍 stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出 stack的底层容器可以是任何标准…

基于SpringBoot的ElasticSearch操作(超详细教程)

一、ElasticSearch 简介 1、简介 ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多员工能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码发布,是一种…

Vue中如何进行文件浏览与文件管理

Vue中的文件浏览与文件管理 文件浏览与文件管理是许多Web应用程序中常见的功能之一。在Vue.js中,您可以轻松地实现文件浏览和管理功能,使您的应用程序更具交互性和可用性。本文将向您展示如何使用Vue.js构建文件浏览器和文件管理功能,以及如…

Vue中如何进行响应式图像与图片懒加载优化

Vue中响应式图像与图片懒加载优化 在现代的Web开发中,图像在网站性能和用户体验方面扮演着至关重要的角色。然而,加载大量的图像可能会导致网页加载速度变慢,从而影响用户的满意度。为了解决这个问题,Vue.js提供了一些强大的工具…

Polygon Miden中的nullifier sets设计

1. 引言 前序博客: Polygon Miden zkRollup中的UTXO账户混合状态模型Polygon Mide状态模型:解决状态膨胀,而不牺牲隐私和去中心化 本文基本结构为: 何为nullifiers?为何需要nullifiers?使用nullifiers存…

Ubuntu 20.04 桌面美化

Ubuntu 20.04 桌面美化 Ubuntu 20.04 在 2020 年 4 月 28 日发布,距今已经快四个月了,我将自己的笔记本升级成 Ubuntu 20.04 操作系统了,Ubuntu 20.04 默认安装完成的桌面比较简单,如下图: 根据我个人的喜好&#xff0…

Android自定义Drawable---灵活多变的矩形背景

Android自定义Drawable—灵活多变的矩形背景 在安卓开发中,我们通常需要为不同的按钮设置不同的背景以实现不同的效果,有时还需要这些按钮根据实际情况进行变化。如果采用编写resource中xml文件的形式,就需要重复定义许多只有微小变动的资源…

Vue中如何进行表单验证码与滑动验证

在Vue中实现表单验证码与滑动验证功能 验证码和滑动验证是Web应用程序中常见的安全功能,用于验证用户的身份并防止恶意活动。Vue.js作为一个流行的JavaScript框架,提供了许多工具和库来实现这些功能。本文将介绍如何使用Vue来实现表单验证码和滑动验证功…

solidity 合约转java

Generate a Java Wrapper from your Smart Contract Solidity Gradle Plugin - Web3j web3j / web3j-maven-plugin GitLab

ARM汇编与C言语的混合编程

1. C言语如何与汇编进行交互 有些时候,我们需要在汇编代码中调用C代码,或者说C代码中调用汇编代码。 那么,汇编调用C代码,或者C代码调用汇编函数,他们的函数参数、返回值是如何传递的? 对应ARM架构来说&…

学习开发一个RISC-V上的操作系统(汪辰老师) — unrecognized opcode `csrr t0,mhartid‘报错问题

前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 正文 (1)在跟着…