当前位置: 首页 > news >正文

拓展知识三:编码学及密码学

编码和密码的区别

        研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。

编码和密码是两个不同的概念,它们的区别如下:

  • 定义和目的
    • 编码:是将信息从一种形式转换为另一种形式的过程,目的是为了方便信息的存储、传输和处理,或者是为了满足特定的格式要求。例如,将字符转换为计算机能够理解的二进制代码,或者将数据按照某种特定的规则进行格式化,如 Base64 编码,它把二进制数据转换为可打印的 ASCII 字符,便于在网络上传输或存储。
    • 密码:是一种用于保护信息安全的技术,通过使用特定的算法和密钥对数据进行加密,使得只有授权的用户能够解密和访问原始数据。密码的主要目的是确保数据的保密性、完整性和可用性,防止未经授权的访问和篡改。
  • 实现方式
    • 编码:通常是基于一定的规则或算法进行的可逆转换,只要知道编码规则,就可以很容易地将编码后的数据还原为原始数据。例如,URL 编码是将特殊字符转换为 % 加上其 ASCII 码的十六进制表示,解码时只需按照相反的规则进行替换即可。
    • 密码:使用复杂的加密算法对数据进行处理,加密过程通常是不可逆的,或者在没有正确密钥的情况下很难逆向还原。常见的加密算法如 AES(高级加密标准)、RSA 等,需要使用特定的密钥进行加密和解密操作,密钥的安全性至关重要。
  • 应用场景
    • 编码:广泛应用于计算机系统、网络通信、数据存储等领域。例如,在 Web 开发中,经常会使用编码来处理 URL 参数、表单数据等,以确保数据的正确传输和显示。在文件存储中,也会使用一些编码方式来优化存储空间和提高数据读取效率。
    • 密码:主要应用于信息安全领域,用于保护敏感信息,如用户的登录密码、银行账户信息、企业的商业机密等。在网络通信中,也会使用加密技术来保证数据在传输过程中的安全性,防止被窃取或篡改。
  • 安全性要求
    • 编码:一般不涉及对信息的保密要求,其重点在于数据的格式转换和兼容性。虽然编码后的信息可能看起来难以直接理解,但并不具备真正的安全性,因为编码规则是公开的,任何人都可以进行编码和解码。
    • 密码:对安全性要求极高,密钥的保密性是关键。一旦密钥泄露,加密的数据就可能被轻易破解,从而导致信息安全事故。因此,需要采取严格的安全措施来保护密钥,如使用安全的存储方式、定期更换密钥等。

基本术语

密钥:分为加密密钥和解密密钥。

明文:没有进行加密,能够直接代表原文含义的信息。

密文:经过加密处理之后,隐藏原文含义的信息。

加密:将明文转换成密文的实施过程。

解密:将密文转换成明文的实施过程。

密码算法:密码系统采用的加密方法和解密方法,随着基于数学密码技术的发展,加密方法一般称为加密算法,解密方法一般称为解密算法。

主要分支

  • 对称加密:加密和解密使用相同的密钥。其优点是加密速度快,适合对大量数据进行加密;缺点是密钥管理困难,因为通信双方需要共享相同的密钥,且密钥的分发和存储需要保证安全性。常见的对称加密算法有 AES(高级加密标准)、DES(数据加密标准)等。

  • 非对称加密:使用一对密钥,即公钥和私钥。公钥可以公开,用于加密信息;私钥由用户自己保存,用于解密信息。其优点是密钥管理方便,不需要像对称加密那样在通信双方之间安全地传递密钥;缺点是加密和解密速度相对较慢。常见的非对称加密算法有 RSA、ECC(椭圆曲线密码体制)等。

  • 哈希算法:也称为散列算法,它将任意长度的数据映射为固定长度的哈希值。哈希算法具有单向性,即从哈希值很难反推出原始数据。它主要用于数据的完整性校验和数字签名等方面,常见的哈希算法有 MD5、SHA-1、SHA-256 等。

应用领域

  • 数据保密:保护敏感信息,如用户的个人隐私、企业的商业机密、政府的机密文件等,防止被未经授权的人员获取。

  • 身份认证:通过验证用户的身份信息,如用户名和密码、数字证书等,确保只有合法用户能够访问系统或资源。

  • 数字签名:用于验证消息的来源和完整性,以及确认发送者对消息的不可否认性。就像在纸质文件上签字一样,数字签名可以保证消息是由特定的发送者发送的,并且在传输过程中没有被篡改。

  • 电子商务:在网上购物、在线支付等场景中,密码学技术用于保护用户的账户信息、交易数据等,确保交易的安全和可靠。

提问式学习

首先问你一个问题:你知道什么是密码学吗?

        密码学是研究如何隐密地传递信息的学科。简单来说,就是把我们要传递的普通信息(明文)通过某种规则变成别人看不懂的信息(密文),接收方再按照特定的规则把密文还原成明文。比如,我们把字母 “A” 用数字 “1” 来代替,这就是一种简单的加密方式,“1” 就是密文,接收方知道这个规则,就能把 “1” 还原成 “A”。

那现在来问你第二个问题:你能想到生活中有哪些地方会用到密码学吗?

        生活中用到密码学的地方可多啦。比如我们登录各种账号时输入的密码,这就是密码学的一种应用,用来验证我们的身份,保证只有我们自己能访问我们的账号信息。还有网上银行转账,在传输过程中为了防止信息被窃取和篡改,会用到加密技术来保护交易信息的安全。再比如手机解锁的密码或者指纹识别(这背后也有密码学相关技术来确保安全性)。

接着问你:你知道密码学里的加密算法有哪些分类吗?

        常见的加密算法分类有对称加密算法和非对称加密算法。对称加密算法就是加密和解密使用相同的密钥。比如 DES(数据加密标准)、AES(高级加密标准)等。非对称加密算法则是加密和解密使用不同的密钥,一个是公钥,一个是私钥。公钥可以公开,任何人都可以用公钥来加密信息,但只有拥有对应私钥的人才能解密。典型的非对称加密算法有 RSA。

再问你:你觉得对称加密和非对称加密各自有什么优缺点呢?

        对称加密的优点是加密和解密速度快,效率高,适合对大量数据进行加密。比如要加密一个大文件,对称加密能很快完成。缺点是密钥的管理比较困难,因为加密和解密都用同一个密钥,如果密钥在传输过程中被窃取,那么信息就不安全了。

        非对称加密的优点是安全性相对较高,因为公钥可以公开,私钥自己保存好就行。而且在密钥交换等场景很有用,比如在网络通信中,双方可以用对方的公钥加密信息发送,接收方用自己的私钥解密。缺点是加密和解密速度比较慢,不适合对大量数据进行加密,一般用于加密少量关键信息,比如数字签名等场景。

现在问你:你知道什么是数字签名吗?

        数字签名是一种用于验证消息真实性和完整性,以及确认消息来源的技术。简单说,发送方用自己的私钥对消息进行加密,得到的结果就是数字签名。接收方收到消息和数字签名后,用发送方的公钥来解密数字签名,如果能成功解密并且解密后的内容和收到的消息一致,那就说明消息确实是发送方发的,而且在传输过程中没有被篡改。比如在电子合同签署中,就可以用数字签名来保证合同的真实性和不可抵赖性。

我们继续深入学习密码学。首先问你,在对称加密算法中,AES 是比较常用的,你知道 AES 具体是如何进行加密操作的吗?

        AES(高级加密标准)是基于分组密码的加密算法。它把明文分成固定长度的块,通常是 128 位,然后使用密钥对这些块进行一系列复杂的变换操作。这些操作包括字节替换、行移位、列混淆和轮密钥加等。通过多轮这样的变换,将明文逐渐转化为密文。每一轮的操作都依赖于密钥,不同的密钥会产生不同的密文,从而保证了加密的安全性。

接着问你,非对称加密算法中的 RSA 算法,它的安全性是基于什么数学原理呢?

        RSA 算法的安全性基于大整数分解的困难性。具体来说,RSA 算法使用两个大素数相乘得到一个合数 N 作为公钥的一部分,要想从 N 分解出这两个大素数是非常困难的。攻击者如果不知道这两个素数,就无法计算出私钥,从而无法解密用公钥加密的信息。例如,当 N 是一个非常大的数,比如有几百位甚至上千位时,即使使用目前最快的计算机和最先进的算法,也需要花费很长时间才能尝试分解出它的因数。

再问你,你知道什么是哈希函数吗?它在密码学中有什么作用呢?

        哈希函数是一种将任意长度的数据映射为固定长度哈希值的函数。它具有以下特点:输入数据的任何微小变化都会导致哈希值的巨大变化;从哈希值很难反推出原始数据;可以快速计算出哈希值。在密码学中,哈希函数常用于验证数据的完整性和用户密码的存储。比如,我们在网站上注册账号时,输入的密码不会以明文形式存储在服务器上,而是会通过哈希函数计算出一个哈希值存储起来。当我们登录时,输入的密码会再次经过哈希函数计算,与存储的哈希值进行比对,从而验证密码的正确性,这样可以提高密码的安全性,防止密码被窃取后直接被破解。

现在问你,在实际应用中,如何结合对称加密和非对称加密的优点来进行安全通信呢?

        通常会采用混合加密的方式。比如,在进行网络通信时,首先使用非对称加密算法来交换对称加密算法使用的密钥。发送方用接收方的公钥加密对称密钥并发送给接收方,接收方用自己的私钥解密得到对称密钥。然后双方就可以使用这个对称密钥,通过对称加密算法来加密和解密大量的通信数据。这样既利用了非对称加密在密钥交换上的安全性,又利用了对称加密对大量数据加密的高效性。

又比如,你知道什么是数字证书吗?它和密码学有什么关系呢?

        数字证书是一种权威性的电子文档,用于证明某一主体(如个人、企业或服务器)的身份以及其公钥的合法性。它由权威的证书颁发机构(CA)颁发。数字证书中包含了主体的身份信息、公钥以及 CA 对这些信息的数字签名。在网络通信中,当一方收到另一方的数字证书时,可以通过验证 CA 的数字签名来确认证书的真实性和有效性,从而信任对方的身份和公钥。这其中涉及到密码学中的数字签名技术来保证证书的不可篡改和身份的可验证性。

更深入一些的密码学知识问答:

对称加密算法

  • 问题:AES 算法中的密钥扩展是如何实现的?为什么需要密钥扩展?
  • 回答:AES 算法中的密钥扩展是将输入的密钥扩展为多个轮密钥,以用于加密过程中的不同轮次。它通过一系列的线性变换和非线性变换来实现。具体来说,是基于密钥编排算法,将初始密钥按照一定的规则进行移位、替换和异或等操作,生成多个子密钥。需要密钥扩展的原因是为了在不同轮次中使用不同的密钥,增加密码的安全性。通过密钥扩展,可以使每一轮加密使用的密钥都有所不同,从而增加攻击者破解密码的难度,防止攻击者通过分析单一密钥来破解整个加密系统。

非对称加密算法

  • 问题:在 RSA 算法中,如何选择合适的素数 p 和 q 来保证算法的安全性?
  • 回答:在 RSA 算法中,选择合适的素数 p 和 q 是保证算法安全性的关键。首先,p 和 q 应该是大素数,通常要求它们的长度达到一定的位数,例如 1024 位或 2048 位,这样可以增加分解 N = p * q 的难度。其次,p 和 q 的差值应该足够大,避免 p 和 q 过于接近,防止攻击者通过特殊的分解算法(如费马分解法)轻易地分解 N。此外,p - 1 和 q - 1 应该包含大的素因子,这有助于抵抗一些针对 RSA 算法的攻击,如 Pollard's p - 1 算法。同时,p 和 q 还应该是随机选择的,以避免被攻击者预测或猜测到。

哈希函数

  • 问题:哈希函数的碰撞问题是如何产生的?有哪些解决方法?
  • 回答:哈希函数的碰撞问题是指不同的输入数据产生相同的哈希值的情况。这是由于哈希函数将无限的输入空间映射到有限的输出空间,根据鸽巢原理,必然会存在不同的输入产生相同的输出。解决哈希函数碰撞问题的方法有多种。一种常见的方法是使用更长的哈希值,增加输出空间的大小,从而降低碰撞的概率。例如,从 MD5(128 位哈希值)升级到 SHA - 256(256 位哈希值)。另一种方法是采用哈希冲突解决策略,如链地址法,当发生碰撞时,将具有相同哈希值的数据存储在一个链表中。还有开放地址法,当发生碰撞时,通过一定的探测序列寻找下一个可用的存储位置。

数字证书

  • 问题:数字证书的吊销机制是如何工作的?为什么需要数字证书吊销?
  • 回答:数字证书的吊销机制是为了在证书的有效期内,当出现某些情况(如证书所有者的私钥泄露、证书信息错误或证书不再被信任等)时,能够及时撤销证书的有效性,防止其被滥用。通常,证书颁发机构(CA)会维护一个证书吊销列表(CRL),当决定吊销某个证书时,会将该证书的序列号等信息添加到 CRL 中。CRL 会定期更新并发布。在进行安全通信时,验证方除了验证证书的真实性和有效性外,还会检查证书是否在 CRL 中。如果证书在 CRL 中,那么该证书将被视为无效,通信将被拒绝。另外,还有一种在线证书状态协议(OCSP),它允许实时查询证书的状态,而不需要下载整个 CRL,提高了证书验证的效率。数字证书吊销是非常必要的,它可以及时应对证书在使用过程中出现的各种安全问题,保护通信双方的安全和利益,确保整个密码学体系的安全性和可靠性。

密码学在区块链中的应用

  • 问题:密码学在区块链中起到了哪些关键作用?
  • 回答:密码学在区块链中起着至关重要的作用。首先,哈希函数用于计算区块的哈希值,通过对区块中的数据(包括交易信息、时间戳等)进行哈希运算,生成一个唯一的哈希值来标识该区块。这保证了数据的完整性,因为任何数据的微小变化都会导致哈希值的巨大变化,使得攻击者难以篡改区块中的数据而不被发现。其次,数字签名用于验证交易的发起者身份和确保交易的不可抵赖性。交易发起者使用自己的私钥对交易进行签名,其他人可以通过验证数字签名来确认交易是否由合法的用户发起,并且发起者无法否认自己发起的交易。此外,公钥加密技术用于保护区块链网络中的通信安全,确保节点之间传输的数据不被窃取或篡改。最后,非对称加密算法还用于生成和管理区块链中的钱包地址,用户通过自己的私钥来控制钱包中的资产,只有拥有正确私钥的用户才能进行转账等操作。

量子密码学

  • 问题:量子密码学与传统密码学有什么不同?它的原理是什么?
  • 回答:量子密码学与传统密码学的主要不同在于其基于量子力学原理,而传统密码学基于数学难题。量子密码学利用量子态的不可克隆原理和量子纠缠等特性来实现信息的安全传输。其原理主要是通过量子态来编码信息,例如利用光子的偏振态。由于量子态的测量会导致其状态的改变,任何对量子信息的窃听都会被发现。例如,在量子密钥分发(QKD)中,发送方和接收方通过量子信道传输量子态,接收方通过特定的测量方法来获取密钥信息。如果有第三方试图窃听,那么量子态的变化会使得接收方和发送方检测到异常,从而保证了密钥的安全性。然后,双方可以使用这个安全的密钥进行传统的对称加密通信。量子密码学提供了一种理论上无条件安全的通信方式,与传统密码学基于计算复杂性的安全性有所不同。

相关文章:

拓展知识三:编码学及密码学

编码和密码的区别 研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 编码和密码是两个不同的概念,它们的区别如下:…...

【商城实战(54)】解锁商城国际化密码:内容管理全攻略

【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配&#xf…...

JS 应用WebPack 打包器第三方库 JQuery安装使用安全检测

# 打包器 -WebPack- 使用 & 安全 参考: https://mp.weixin.qq.com/s/J3bpy-SsCnQ1lBov1L98WA Webpack 是一个模块打包器。在 Webpack 中会将前端的所有资源文件都作为模块处理。 它将根据模块的依赖关系进行分析,生成对应的资源。 五个核心概…...

【嵌入式硬件】三款DCDC调试笔记

关于开关电源芯片,重点关注输入电源范围、输出电流、最低压降。 1.MP9943: 以MP9943为例,输入电压范围4-36V,输出最大电流3A,最低压降为0.3V 调整FB使正常输出为5.06V 给定6V空载、5V空载、5V带2A负载的情况: 6V带2A…...

深入理解 HTML5 Web Workers:提升网页性能的关键技术解析

深入理解 HTML5 Web Workers:提升网页性能的关键技术解析 引言1. 什么是 Web Workers?Web Workers 的特点: 2. Web Workers 的使用方式2.1 创建一个 Web Worker步骤 1:创建 Worker 文件步骤 2:在主线程中调用 Worker 3…...

计算机网络的分类——按照按拓扑结构分类

计算机的拓扑结构是引用拓扑学中研究和大小、形状无关的点、线关系的方法,将网络中的计算机和通信设备抽象为一个点,把传输介质抽象成一条线,由点和线组成的几何图形就是计算机网络的拓扑结构。计算机网络的拓扑结构主要由通信子网决定&#…...

AI大白话(四):自然语言处理——AI是如何理解和生成人类语言的?

🌟引言: 专栏:《AI大白话》 AI大白话(一):5分钟了解AI到底是什么? AI大白话(二):机器学习——AI是怎么“学习“的? AI大白话(三):深度学习——AI的‘大脑‘是如何构建的? 大家好!欢迎回到"AI大白话"系列。前面我们聊了AI的基本概念、机器学习的原理…...

Android第六次面试总结(Java设计模式篇一)

单例模式属于创建型设计模式,它保证一个类仅有一个实例,并且提供一个全局访问点来获取该实例。下面为你详细阐述单例模式的好处和坏处。 好处 资源优化:单例模式能保证一个类只有一个实例,这对于那些创建和销毁开销大的对象&…...

如何在 React 项目中进行服务器端渲染(SSR),它有什么优势

大白话如何在 React 项目中进行服务器端渲染(SSR),它有什么优势 什么是服务器端渲染(SSR) 在传统的 React 项目里,页面的渲染工作是在浏览器里完成的。也就是当你访问一个网页时,浏览器会先下…...

JVM 01

今天是2025/03/20 16:36 day 09 总路线请移步主页Java大纲相关文章 今天进行JVM前二个模块的归纳 首先是JVM的相关内容概括的思维导图 以下是针对思维导图中 内存管理 和 垃圾回收(GC) 模块的详细说明: 1. 内存管理(运行时数据…...

MATLAB 调用arduino uno

为了授课,必须重新把arduino用上。 采用MATLAB编码,可以简化相关程序授课部分 1 安装包 MATLAB Support Package for Arduino Hardware - File Exchange - MATLAB Central (mathworks.com) 需要这个插件。 当然也可下载simulink的模块,但…...

WPS宏开发手册——JSA语法

目录 系列文章2、JSA语法2.1、打印输出2.2、注释2.3、变量2.4、数据类型2.5、函数2.6、运算符2.7、比较2.8、if else条件语句2.9、for循环2.10、Math对象(数字常用方法)2.11、字符串常用方法2.12、数组常用方法 系列文章 使用、工程、模块介绍 JSA语…...

linux如何释放内存缓存

[rootredis ~]# sync #将内存缓存数据强制写入磁盘(保存数据后再做释放) [rootredis ~]# echo 1 > /proc/sys/vm/drop_caches #释放内存缓存...

2025年渗透测试面试题总结-某360-企业蓝军面试复盘 (题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 360-企业蓝军 一、Shiro绕WAF实战方案 二、WebLogic遭遇WAF拦截后的渗透路径 三、JBoss/WebLogic反序…...

Atlas 800I A2 双机直连部署DeepSeek-R1-w8a8

一、环境信息 1.1、硬件信息 Atlas 800I A2 * 2 1.2、环境信息 操作系统:openEuler 22.03 LTS NPU驱动:Ascend-hdk-910b-npu-driver 24.1.0 linux-aarch64.run NPU固件:Ascend-hdk-910b-npu-firware 7.5.0.3.220.run MindIE镜像&#xff…...

OpenHarmony 入门——ArkUI 跨页面数据同步和页面级UI状态存储LocalStorage小结(二)

文章大纲 引言一、在代码逻辑使用LocalStorage二、从UI内部使用LocalStorage三、LocalStorageProp和LocalStorage单向同步四、LocalStorageLink和LocalStorage双向同步五、兄弟组件之间同步状态变量七、将LocalStorage实例从UIAbility共享到一个或多个视图 引言 前面一篇文章主…...

自我革命!优利德全面进入智能示波器时代

AI重构电子测试新范式 春节期间,DeepSeek(深度求索)火遍全网。作为国内首个全面对标GPT-4技术架构的AI大模型,DeepSeek凭借其自主研发的通用大语言模型体系,涵盖了从7B到超千亿参数的完整模型矩阵,在数学推…...

Vue3 实战:基于 mxGraph 与 WebSocket 的动态流程图构建

本文将详细介绍如何在 Vue3 项目中集成 mxGraph 可视化库,并通过 WebSocket 实现画布元素的实时更新。适合有 Vue 基础的前端开发者学习参考。 一、技术栈准备 Vue3:采用 Composition API 开发mxGraph:JavaScript 流程图库(版本 …...

Python-金融相关代码讲解

文章目录 概要整体架构流程1.代码部分2.逐个讲解1)# -*- coding: utf-8 -*-2)基本库引入3)函数模块4)主程序 小结1. 问题拆解思维2. 文件处理三件套3. 字典的妙用:4. 上下文管理器(with open...&#xff09…...

深度解读DeepSeek:开源周(Open Source Week)技术解读

深度解读DeepSeek:开源周(Open Source Week)技术解读 深度解读DeepSeek:源码解读 DeepSeek-V3 深度解读DeepSeek:技术原理 深度解读DeepSeek:发展历程 文章目录 一、开源内容概览Day1:FlashMLAD…...

【算法】十大排序算法(含时间复杂度、核心思想)

以下是 **十大经典排序算法** 的时间复杂度、空间复杂度及稳定性总结,适用于面试快速回顾:排序算法对比表 排序算法最佳时间复杂度平均时间复杂度最差时间复杂度空间复杂度稳定性核心思想冒泡排序O(n)O(n)O(n)O(1)稳定相邻元素交换,大数沉底…...

TCP传输---计算机网络

TCP结构 源端口和目标端口:标识通信的应用程序。序列号:标记发送的数据段的顺序序号。确认号 ( ACK):确认接收到的数据序号。标志位:控制连接状态,包括 SYN(同步)、ACK(确认&#xf…...

创建vue2项目

1、前往 Node.js 官网下载并安装 Node.js,安装完成后,npm 会随之安装。确认 Node.js 和 npm 是否成功安装,可以在命令行中运行以下命令检查版本: node -v npm -v 运行结果:(如下,表示node和n…...

从投机到可持续发展:ETHDenver 2025 的关键启示!

ETHDenver 2025 重点讨论了 Web3 向可持续发展转型,特别强调了人才培养、去中心化治理和激励机制的紧密结合。Polkadot 一直以来的长期观点也进一步支持了行业从投机转向长期、社区驱动增长的趋势。随着 ETHDenver 2025 会议的的落幕,Polkadot 生态中的贡…...

WPS宏开发手册——使用、工程、模块介绍

目录 系列文章前言1、开始1.1、宏编辑器使用步骤1.2、工程1.3、工程 系列文章 使用、工程、模块介绍 JSA语法 第三篇练习练习题,持续更新中… 前言 如果你是开发人员,那么wps宏开发对你来说手拿把切。反之还挺吃力,需要嘻嘻&#xf…...

操作系统为ubantu的服务器上部署nginx软件基础步骤总结

今天在这里,我们总结一下ubantu的服务器上部署nginx软件,请按照以下步骤进行安装: 1、更新包列表: 首先更新你系统中的可用软件包列表,以确保你可以安装最新版本。 sudo apt update2、 Ubuntu上更新已安装软件包&…...

批量给 PPT 文档添加或删除保护,批量设置打开密码和只读密码

为了保护保护档的安全,我们经常会给 PPT 文档添加打开密码或者只读密码保护。有些场景下,我们也可能会碰到需要删除 PPT 文档的打开密码或者只读密码的需求。今天就给大家介绍一种方法可以一次性批量给多个 PPT 文档添加打开密码或者只读密码保护&#x…...

Elasticsearch 中的数据分片问题

Elasticsearch 分片机制 Elasticsearch 在存储数据时采用 分片(Shard)机制,以提高性能和可扩展性。它索引中的数据被划分成多个 主分片(Primary Shard) 和 副本分片(Replica Shard)&#xff0c…...

如何在IPhone 16Pro上运行python文件?

在 iPhone 16 Pro 上运行 Python 文件需要借助第三方工具或远程服务,以下是具体实现方法和步骤: 一、本地运行方案(无需越狱) 使用 Python 编程类 App 以下应用可在 App Store 下载,支持直接在 iPhone 上编写并运行 …...

Xinference安装、使用详细笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xinference安装、使用详细笔记 支持推理引擎安装Xinference启动Xinference关于模型的推理引擎运行 qwen2.5-instruct管理模型官方详细文档:具体使用:对…...

NAT 模式

使用LVS的 NAT 模式实现 3 台RS的轮询访问。IP地址和主机自己规划。 1.节点规划 主机角色系统网络IPclientclientredhat 9.5仅主机192.168.180.100/24lvslvsredhat 9.5仅主机 NAT192.168.180.200/24 VIP 192.168.72.8/24 DIPnginxrs1redhat 9.5NAT192.168.226.7/24nginxrs2r…...

【中间件】Rabbit离线部署操作

准备安装包: 1.rabbitmq-server-4.0.7-1.el8.noarch.rpm 2.erlang-26.2.5.4-1.el9.x86_64.rpm 3.socat-1.7.4.1-6.el9.x86_64.rpm 操作步骤: 1.上传将RabbitMQ文件夹上传至服务器的home中 2.先安装erlang服务,顺序执行以下命令 设置服务的S…...

thinkphp漏洞再现

Thinkphp5x远程命令执行及getshell 1、开环境 2、使用工具攻击 开启工具 输入地址,点击漏洞检测 存在漏洞之后,选择漏洞,执行命令 3、也可以执行远程命令 执行命令 ?sindex/think\app/invokefunction&functioncall_user_func_array&…...

a-date-picker 格式化日期格式 YYYY-MM-DD HH:mm:ss

<template><a-range-pickerv-model:value"dateRange":show-time"{ format: HH:mm:ss, // 时间部分格式defaultValue: [moment(00:00:00, HH:mm:ss), moment(23:59:59, HH:mm:ss)] // 默认时间范围}"format"YYYY-MM-DD HH:mm:ss" // 整体…...

【前端】在<el-form>里循环插入list内容

这里的list为日志list【logList】 <el-row v-if"logList && logList.length > 0" style"display: flex; flex-direction: column; align-items: center;"><el-rowv-for"(log, index) in logList" :key"index" s…...

Spring Boot 一个接口实现任意表的 Excel 导入导出

Java的web开发需要excel的导入导出工具&#xff0c;所以需要一定的工具类实现&#xff0c;如果是使用easypoi、Hutool导入导出excel&#xff0c;会非常的损耗内存&#xff0c;因此可以尝试使用easyexcel解决大数据量的数据的导入导出&#xff0c;且可以通过Java8的函数式编程解…...

华为交换相关

端口模式 &#xff08;1&#xff09;access&#xff1a;只能属于单个VLAN&#xff0c;一般用于连接计算机端口 &#xff08;2&#xff09;trunk&#xff1a;端口允许多个VLAN通过&#xff0c;可以接收和发送多个VLAN报文&#xff0c;默认情况下只有管理VLAN不携带标签信息 &…...

「宇树科技」13家核心零部件供应商梳理!

2025年2月6日&#xff0c;摩根士丹利&#xff08;Morgan Stanley&#xff09;发布最新人形机器人研报&#xff1a;Humanoid 100: Mapping the Humanoid Robot Value Chain&#xff08;人形机器人100&#xff1a;全球人形机器人产业链梳理&#xff09;。 2025年2月20日&#xf…...

Kafka Snappy 压缩异常分析与解决方案

1. 问题描述 在使用 Kafka 进行消息发送时&#xff0c;遇到了以下异常&#xff1a; org.apache.kafka.common.KafkaException: java.lang.UnsatisfiedLinkError: /tmp/snappy-1.1.7-ee0a2284-1d05-4116-9ddc-a0d5d4b3f8cd-libsnappyjava.so: Error loading shared library ld…...

Agent系列——Manus调研

一、Manus核心技术解析&#xff08;代码实现原理&#xff09; 1. 多智能体协同架构 class PlanningAgent: # 任务规划代理def decompose_task(self, task):return ["unzip_files", "extract_info", "match_skills"]class ExecutionAgent: # …...

CS实现票据样式效果

效果图 代码 <template> <div class"outer"><div class"outer-container"></div></div> </template> <script langts> import { reactive, toRefs, onBeforeMount, onMounted } from vue import { useRouter, …...

Maven 简介及其核心概念

Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和 依赖管理。 官网: Introduction – Maven 下载地址: Download Apache Maven – Maven 1 Introduction Maven, a Yiddish word meaning accumulator of knowledge, began as an …...

阿里开源的免费数据集成工具——DataX

企业里真实的数据流转是什么样子的呢&#xff1f; 左侧描述了一个企业真实的样子&#xff0c;我们总是需要把数据从一个地方搬到另一个地方&#xff0c;最后就是搬来搬去搬成了一张张解不开的网。 右侧则表达了使用DataX为中心实现数据的同步。 什么是DataX DataX是一个异构…...

医学图像分割数据集肺分割数据labelme格式6299张2类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图像分辨率&#xff1a;1024x1024 图片数量(jpg文件个数)&#xff1a;6299 标注数量(json文件个数)&#xff1a;6299 标注类别数&#xff1a;2 标注类别名称:["leftl…...

Spring IoC的设计与实现

IoC,Inversion of Control 控制反转&#xff0c;将原本由应用程序负责对象创建的工作&#xff0c;交给IOC容器来完成。容器通过依赖注入&#xff08;DI&#xff0c;Dependency Injection&#xff09;来实现。 作用&#xff1a;降低类对象之间的耦合度&#xff0c;减少代码量。…...

微信小程序开发:页面结构与样式设计

微信小程序页面结构与样式设计研究 摘要 微信小程序作为移动互联网的重要应用形式&#xff0c;其页面结构与样式设计对于用户体验和功能实现具有关键作用。本文深入探讨微信小程序的页面结构与样式设计&#xff0c;包括WXML语法与页面结构搭建、WXSS样式编写与页面美化提升以…...

Linux paste命令

目录 一. 简介二. 基本语法三. 小案例 一. 简介 paste 命令用于合并多个文件的行&#xff0c;按列方式输出&#xff0c;默认以制表符&#xff08;Tab&#xff09;分隔。 ⏹基本语法 paste [选项] 文件1 文件2 ...二. 基本语法 <()的方式模拟文件流paste命令将2个文件流粘…...

关于Object.assign

Object.assign 基本用法 Object.assign() 方法用于将所有可枚举属性的值从一个或者多个源对象source复制到目标对象。它将返回目标对象target const target { a: 1, b: 2 } const source { b: 4, c: 5 }const returnedTarget Object.assign(target, source)target // { a…...

新能源汽车充换站如何实现光储充一体化管理?

长三角某换电站光伏板晒到发烫&#xff0c;却因电网限电被迫切机&#xff1b;北京五环充电站每月多缴6万超容费&#xff1b;深圳物流车充电高峰排队3小时...当95%的充换站深陷“用不起绿电、扛不住扩容、算不清碳账”困局&#xff0c;安科瑞用一组真实数据撕开行业潜规则&#…...

Flink 流处理框架的核心特性

文章目录 事件时间支持Flink状态编程一、状态的类型1. 托管状态&#xff08;Managed State&#xff09;2. 原始状态&#xff08;Raw State&#xff09; 二、状态的管理和容错 Flink端到端的一致性1、检查点机制2、幂等3、事务 水位线窗口操作1、窗口类型2、窗口操作的时间语义 …...