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

密码学——密码学概述、分类、加密技术(山东省大数据职称考试)

 大数据分析应用-初级

第一部分 基础知识

       一、大数据法律法规、政策文件、相关标准

       二、计算机基础知识

       三、信息化基础知识

       四、密码学

       五、大数据安全

       六、数据库系统

       七、数据仓库.

第二部分 专业知识

       一、大数据技术与应用

       二、大数据分析模型

       三、数据科学


密码学

  • 大数据分析应用-初级
  • 前言
  • 一、密码学概述
  • 二、密码学分类
  • 三、加密技术
  • 练习题目


前言

密码学

(一)密码学概述

1、了解密码学发展史、密码学概念。

(二)密码学分类

1、了解密码学的分类,包括按时间、按密钥、按密码体制和按明文处理方法分类等。

(三)加密技术

1、了解古典密码学、对称密码算法、非对称密码算法、哈希算法、散列函数(MD5算法)、数字签名技术。

2、掌握软件与硬件加密技术。


一、密码学概述

密码学概念:

密码学(Cryptology)是一门研究密码保护通信手段的科学,属于应用数学的范畴,包括加密理论与解密理论。密码学技术可以使消息的内容对(除发送者和接收者以外)的所有人保密,可以使接收者验证消息的正确性

密码学发展史:

1. 古典密码学阶段(古代至1949年)

古典密码学主要基于替换和置换这两种核心手段。替换是指明文中的每一个字符被替换成密文中的另一个字符;置换是密文和明文字母保持相同,但顺序被打乱

这一时期出现了多种加密方法,如斯巴达的“塞塔式密码”、凯撒密码、维吉尼亚密码、滚筒密码、掩格密码以及圆盘密码等。这些密码技术更像是一门艺术,其数据的安全基于算法的保密,密码学专家是凭知觉和信念来进行密码设计和分析,而不是推理和证明。

2. 近代密码学阶段(1949年至1975年)

1949年,香农发表了《保密系统的通信理论》,为对称密码系统建立了理论基础,从此密码学成为一门科学。

20世纪70年代,随着计算机科学的蓬勃发展,密码学得到了新的概念和工具,如快速电子计算机和现代数学方法。

Arthur Scherbius于1919年设计出了历史上最著名的密码机——德国的Enigma机,它在二战期间被广泛使用,但也引发了加密与破译的激烈对抗。

近代密码发展中一个重要突破是“数据加密标准”(DES)的出现,它使密码学得以从政府走向民间,并在金融等商业领域广泛使用

3. 现代密码学阶段(1976年至今)

1976年,W.Diffie和M.Hellman在发表的文章“密码学的新方向”中首次公开提出了公钥密码(Public-key Cryptography)的概念。公钥密码的提出实现了加密密钥和解密密钥之间的独立,解决了对称密码体制中通信双方必须共享密钥的问题,在密码学界具有划时代的意义。

1977年,美国麻省理工学院提出第一个公钥加密算法RSA算法,之后ElGamal、椭圆曲线、双线性对等公钥密码相继被提出,密码学真正进入了一个新的发展时期。

现代密码学技术得到蓬勃发展,密码学技术趋于标准化,并广泛应用于金融、民生、教育、电子商务、物联网、工业制造等领域。

二、密码学分类

按时间分类

  • 古典密码:古典密码主要以字符为基本加密单元,用于早期的保密通信。
  • 现代密码:现代密码以信息块(多个字符)为基本的加密单元,采用更复杂的算法和密钥管理机制,以提高保密性和安全性。

按密钥分类

  • 对称密钥:又称单钥密码或私钥密码,指加密密钥与解密密钥相同。这种密码体制运算速度快,适用于大数据量的加密,但密钥管理相对困难。
  • 非对称密钥:又称双钥密码或公钥密码,指加密密钥与解密密钥不同。其中,加密密钥(公钥)可以公开,而解密密钥(私钥)需要保密。非对称密钥密码体制解决了密钥分发和不可否认性的问题,但运算速度相对较慢。

按密码体制分类

  • 对称密码体制:如上文所述,加密和解密使用相同的密钥。
  • 非对称密码体制:如上文所述,加密和解密使用不同的密钥。

按明文处理方法分类

  • 分组密码:加密时将明文分成固定长度的组,用同一密钥和算法对每组进行加密,输出也是固定长度的密文。分组密码多用于网络加密。
  • 流密码:也称序列密码,对明文进行连续处理,每次处理一个字符或字节,生成相应的密文。流密码适用于实时通信等需要连续处理的场景。

此外,密码学还可以从其他角度进行分类,如按保密内容算法分类,可以分为受限制算法(算法的保密性基于对算法的保密)和基于密钥算法(算法的保密性基于对密钥的保密);按安全目标分类,可以分为保密体制(主要保证信息不被攻击者窃取)和认证体制(主要保证信息源不被假冒以及信息发送和接受方的身份真实性)。

三、加密技术

1.古典密码学:

      定义与原理:古典密码学是密码学发展早期阶段的技术,主要通过简单的替换或置换操作来隐藏明文信息。替换密码是将明文中的每个字符按照一定规则替换为其他字符,如凯撒密码,它将字母表中的字母按照固定的位移量进行替换。置换密码则是改变明文中字符的位置顺序,比如栅栏密码,把明文按一定规律分组后重新排列组合得到密文。

      示例与局限性:以凯撒密码为例,如果设定位移量为 3,字母 A 就会被替换成 D,B 替换成 E,以此类推。但这种密码很容易被破解,因为它的密钥空间(可能的密钥数量)较小,对于有一定规律的文本,通过简单的频率分析(统计密文中每个字母出现的频率,与正常语言中字母频率对比)就可以猜出加密规则。

2.对称密码算法:

        定义与原理:对称密码算法也叫单钥密码算法,加密和解密使用相同的密钥。发送方和接收方需要事先共享密钥,加密时通过特定的算法将明文和密钥一起运算得到密文,解密时则使用相同的密钥和对应的解密算法把密文还原为明文。

       应用场景与安全性:它的加密和解密速度相对较快,适用于对大量数据进行加密,如在本地硬盘数据加密、企业内部网络数据传输加密等场景广泛应用。然而,其安全性依赖于密钥的保密性,密钥管理是一个关键问题。因为在多个用户通信的情况下,需要安全地分发和存储大量的密钥。常见的对称密码算法包括DES、IDEA、AES、BlowFish、Twofish等。其中,AES(高级加密标准)是最常见的对称密码算法之一,被广泛应用于各种安全通信和存储系统中。

3.非对称密码算法

       定义与原理:非对称密码算法又称为双钥密码算法,加密和解密使用不同的密钥,分别是公钥和私钥。公钥可以公开,任何人都可以使用公钥对信息进行加密,但只有拥有私钥的人才能解密。其原理基于数学难题,如 RSA 算法是基于大整数分解问题。

       应用场景与优势:主要用于密钥交换、数字签名等场景。在电子商务和电子政务等领域发挥重要作用,例如在网上银行中,银行将公钥公开,客户用公钥加密账户信息等敏感数据发送给银行,银行用私钥解密,这种方式解决了对称密码算法中密钥分发的难题,同时还可以提供身份认证功能。常见的非对称密码算法包括RSA、DSA、ECC等。其中,RSA是最著名的非对称密码算法之一,被广泛应用于数字签名、密钥交换等领域。

4.哈希算法与散列函数(以 MD5 算法为例)

        定义与原理哈希算法(也称散列算法)是一种将任意长度的数据映射为固定长度的散列值(也叫哈希值)的算法(该过程不可逆)。散列函数是哈希算法的具体实现。散列函数的主要特点是:

  1. 查找速度较快:给定明文和哈希算法,在有限时间和有限资源内能计算出哈希值。
  2. 不可逆:哈希算法是一种单向密码体制,即它是一个从明文到密文的不可逆的映射。只有加密过程,没有解密过程(在理论上无法从哈希值反推出原始数据)。
  3. 输入敏感:如果散列一段明文,哪怕只更改该段落的一个字母,随后的哈希值都将产生不同的结果。

      MD5算法是一种具体的哈希算法实现,它接收任意长度的输入数据,并通过一系列复杂的数学运算生成一个128位的哈希值。MD5算法以512位数据块为单位来处理输入信息,将输入信息划分为若干个512位的数据块,如果最后一块不足512位,会进行填充处理。在处理过程中,MD5算法会进行四轮循环运算,每轮包含16步操作,这些操作涉及到布尔函数(如与、或、非等逻辑运算)、加法运算和移位操作等。

       应用场景与局限性:主要用于数据完整性验证和数字签名等。比如在文件下载过程中,网站可以提供文件的 MD5 值,用户下载后可以自行计算文件的 MD5 值并与网站提供的进行对比,如果相同则说明文件在传输过程中没有被篡改。然而,MD5 存在安全隐患,由于其算法结构的一些弱点,已经可以通过碰撞攻击(找到两个不同的输入产生相同的 MD5 值)来破解它,在高安全要求的场景下逐渐被更安全的哈希算法如 SHA - 256 等替代。MD5算法的应用非常广泛,包括安全加密、唯一标识、数据校验等。然而,由于MD5算法的安全性问题(如碰撞问题),在一些对安全性要求较高的场合(如金融领域、重要信息系统等),MD5已经被更安全的哈希算法所替代

5.数字签名技术

       定义与原理:数字签名是一种用于验证消息来源和完整性的技术。发送方使用自己的私钥对消息进行签名操作,生成数字签名,接收方可以使用发送方的公钥来验证数字签名。签名过程通常结合哈希算法,先对消息计算哈希值,然后用私钥对哈希值进行加密得到数字签名。验证时,接收方先计算收到消息的哈希值,再用发送方公钥解密数字签名得到原始哈希值,比较两者是否一致来判断消息是否被篡改和是否来自声称的发送者。

       应用场景与重要性在电子合同、电子文档审批等场景中至关重要。它提供了不可否认性,确保发送方不能否认发送过该消息,同时保证了消息的完整性,防止消息在传输过程中被篡改,从而保障了电子通信的安全性和可信度。

软件加密技术

原理:

      软件加密主要是通过编程的方式,利用加密算法对数据进行处理。它将加密算法以软件代码的形式实现,在软件运行过程中,对需要保护的数据进行加密和解密操作。例如,在一个文档编辑软件中,可以通过软件加密技术对文档内容进行加密,当用户保存文档时,软件会使用特定的加密算法(如 AES 等)和用户设置的密钥将文档内容转换为密文进行存储。

常见加密方法:

       对称密钥加密软件实现:利用对称密钥算法(如 AES、DES 等)在软件层面进行加密。例如,AES 算法在软件中实现时,会将数据分成固定长度的块(如 128 位),然后通过多轮的字节替换、行移位、列混合和轮密钥加等操作,使用相同的密钥进行加密和解密。这种方法加密和解密速度相对较快,适合对大量数据进行加密。

        非对称密钥加密软件实现:基于非对称密钥算法(如 RSA 等)实现软件加密。软件使用公钥和私钥对数据进行加密和解密。例如,在数字签名软件中,发送方使用自己的私钥对文件的哈希值进行加密生成数字签名,接收方使用发送方的公钥进行验证。这种方法在密钥管理和身份认证方面有优势,但加密和解密速度比对称密钥算法慢。

        代码混淆与加密:为了防止软件本身的算法被破解,还可以对软件代码进行混淆和加密。代码混淆是通过改变代码的结构和逻辑,使攻击者难以理解代码的真实意图。例如,将变量名替换为无意义的字符,打乱函数的执行顺序等。软件代码加密则是直接对可执行文件或脚本进行加密,在运行时再解密,增加了软件逆向分析的难度。

应用场景:

       数据保护:用于保护各种类型的数据,如企业的财务数据、个人的隐私文件等。例如,数据库管理系统可以使用软件加密技术对存储在数据库中的敏感数据进行加密,防止数据泄露。

       软件授权与版权保护:通过软件加密可以实现软件的授权管理。例如,软件开发者可以使用加密技术对软件的许可证进行加密,用户只有在获得合法的解密密钥(许可证密钥)后才能正常使用软件,这样可以防止软件盗版。

硬件加密技术

原理:

       硬件加密是将加密功能集成到专门的硬件设备中,如加密芯片、加密狗等。这些硬件设备内部包含了加密算法的实现电路和存储密钥的安全区域。在进行加密操作时,数据被发送到硬件设备中,由硬件设备内部的电路使用存储的密钥和加密算法进行加密处理,密文再返回给外部设备。由于密钥存储在硬件的安全区域,并且加密过程在硬件内部完成,大大提高了加密的安全性。

常见加密设备及方法:

        加密芯片:加密芯片是一种高度集成的硬件加密设备。它可以实现多种加密算法,并且具有很高的安全性。例如,在一些高端智能手机中,会内置加密芯片来保护用户的数据(如指纹信息、支付信息等)。加密芯片内部有专门的密钥存储区域,采用物理防护措施(如防篡改封装)来防止密钥泄露,同时,芯片内的加密电路可以快速地执行加密和解密操作。

        加密狗:加密狗是一种外置的硬件加密设备,通常通过 USB 接口等方式与计算机相连软件开发者可以将软件的关键部分(如加密算法和密钥)存储在加密狗中,软件在运行时需要与加密狗进行交互才能正常工作。例如,一些专业的设计软件使用加密狗来进行软件授权,用户只有插入合法的加密狗,软件才能启动并使用全部功能,这有效地防止了软件的非法复制和使用。

应用场景:

       金融安全领域:在银行卡、U 盾等设备中广泛应用。例如,U 盾内部有加密芯片,存储着用户的数字证书和私钥。当用户进行网上银行转账等操作时,U 盾会使用内部的加密电路和存储的密钥对交易数据进行数字签名等加密操作,确保交易的安全性和用户身份的真实性。

       企业数据安全:企业可以使用硬件加密设备来保护重要的数据服务器。例如,在服务器的硬盘阵列中加入硬件加密模块,对存储的数据进行加密,防止数据被非法访问,即使硬盘被盗,没有正确的密钥也无法读取数据。

软件加密与硬件加密的比较

  1. 安全性硬件加密由于在硬件层面操作,通常认为更安全,不易受到恶意软件的攻击。而软件加密则可能受到操作系统漏洞或底层硬件性能的影响。
  2. 成本硬件加密设备可能需要额外的购买和维护成本,而软件加密则通常成本较低,易于部署。
  3. 灵活性软件加密可以更容易地更新和升级,以适应新的加密标准和算法。而硬件加密则需要更换硬件设备或进行专门的升级操作。
  4. 性能硬件加密通常提供更高的性能,尤其是在处理大量数据时。而软件加密则可能受到计算机性能的限制。

       综上所述,软件加密和硬件加密各有其优势和局限。在实际应用中,应根据具体需求和安全要求选择合适的加密技术。例如,在需要高安全性和稳定性的场合下,可以选择硬件加密;而在成本预算有限或需要频繁更新加密算法的情况下,则可以选择软件加密。


练习题目

一、单选题

  1. 密码学中,用于隐藏信息原始含义的转换后信息被称为( )
    A. 明文
    B. 密文
    C. 密钥
    D. 密码协议
    答案:B。解析:明文是未加密的原始信息,密文是将明文通过特定的算法和密钥转换后的信息,用于隐藏原文含义;密钥是用于加解密算法的秘密参数;密码协议是使用密码技术的通信协议。

  2. 以下哪个时期标志着密码学从古典向现代转变的关键阶段( )
    A. 19 世纪末 - 20 世纪初
    B. 第一次世界大战期间
    C. 第二次世界大战期间
    D. 20 世纪 70 年代
    答案:A。解析:19 世纪末 - 20 世纪初,随着计算机技术和数学理论的初步发展,密码学开始从基于简单手工操作的古典密码学向依赖复杂数学算法和计算机技术的现代密码学转变。

  3. 对称密钥密码体制中,如果密钥长度为 128 位,那么理论上密钥的可能组合数量是( )
    A. 2^{​{128}}
    B. 128^{​{2}}
    C. 10^{​{128}}
    D. 2\times 128
    答案:A。解析:对于 n 位的二进制密钥,其可能的组合数量是2^{​{n}},所以 128 位密钥的可能组合数量是2^{​{128}}

  4. 下列哪种古典密码方式是通过改变字符位置顺序来加密的( )
    A. 凯撒密码
    B. 替换密码
    C. 栅栏密码
    D. 仿射密码
    答案:C。解析:凯撒密码和仿射密码属于替换密码,是用其他字符替换明文字符;栅栏密码是将明文字符分组后改变位置顺序,属于置换密码。

  5. 以下哪种算法主要用于验证数据完整性和数字签名( )
    A. 对称密码算法
    B. 非对称密码算法
    C. 哈希算法
    D. 序列密码算法
    答案:C。解析:哈希算法将任意长度的数据映射为固定长度的散列值,主要用于验证数据完整性和数字签名;对称密码算法用于加密和解密数据;非对称密码算法用于密钥交换和数字签名等多种功能;序列密码算法是一种加密方式,重点在加密数据而不是验证完整性。

  6. 在非对称密钥密码体制中,公钥用于( )
    A. 解密
    B. 签名
    C. 加密
    D. 验证签名
    答案:C。解析:在非对称密钥密码体制中,公钥用于加密,私钥用于解密和签名,验证签名也是使用公钥。

  7. MD5 算法产生的散列值长度是( )
    A. 128 位
    B. 160 位
    C. 256 位
    D. 512 位
    答案:A。解析:MD5 算法产生的散列值长度是 128 位。

  8. 软件加密中,代码混淆的主要目的是( )
    A. 提高软件运行速度
    B. 减小软件体积
    C. 防止软件算法被破解
    D. 增加软件功能
    答案:C。解析:代码混淆是通过改变代码的结构和逻辑,使攻击者难以理解代码的真实意图,主要目的是防止软件算法被破解。

  9. 以下硬件加密设备中,常用于高端智能手机保护用户数据的是( )
    A. 加密狗
    B. 加密芯片
    C. U 盾
    D. 硬盘加密模块
    答案:B。解析:加密芯片可集成到智能手机中,用于保护用户的数据,如指纹信息、支付信息等;加密狗主要用于软件授权;U 盾主要用于网上银行等金融操作;硬盘加密模块用于服务器或计算机硬盘数据加密。

  10. 在密码体制分类中,将明文逐位与密钥流运算的是( )
    A. 分组密码
    B. 序列密码
    C. 公钥密码
    D. 哈希密码
    答案:B。解析:序列密码(流密码)将明文逐位地与密钥流进行运算;分组密码是将明文划分成固定长度的组进行加密;公钥密码是基于非对称密钥的密码系统;哈希密码主要用于生成散列值,不是加密明文的方式。

二、多选题

  1. 密码学按时间分类包括( )
    A. 古代密码学
    B. 古典密码学
    C. 近代密码学
    D. 现代密码学
    答案:BD。解析:密码学按时间分为古典密码学(古代到 19 世纪末)和现代密码学(20 世纪初至今)。

  2. 对称密钥密码体制的优点有( )
    A. 加密和解密速度快
    B. 密钥管理相对简单
    C. 适用于大量数据加密
    D. 提供身份认证功能
    答案:AC。解析:对称密钥密码体制加密和解密速度快,适用于大量数据加密;但其密钥管理困难,不直接提供身份认证功能。

  3. 以下属于古典密码学替换密码的有( )
    A. 简单替换密码
    B. 维吉尼亚密码
    C. 希尔密码
    D. 置换密码
    答案:ABC。解析:简单替换密码、维吉尼亚密码、希尔密码都属于替换密码,是将明文字符替换为其他字符来加密;置换密码是改变字符位置顺序,不属于替换密码。

  4. 哈希算法的应用场景包括( )
    A. 数据完整性检查
    B. 数字签名
    C. 密码存储
    D. 数据加密
    答案:ABC。解析:哈希算法主要用于数据完整性检查、数字签名和密码存储(存储密码的哈希值而不是明文密码),它一般不用于数据加密,因为哈希是单向的,很难从哈希值还原出原始数据。

  5. 软件加密技术的实现方式包括( )
    A. 对称密钥加密软件实现
    B. 非对称密钥加密软件实现
    C. 代码混淆与加密
    D. 硬件绑定软件加密
    答案:ABC。解析:软件加密技术可以通过对称密钥加密软件实现、非对称密钥加密软件实现以及代码混淆与加密来实现;硬件绑定软件加密不是软件加密技术本身的实现方式,而是涉及软件与硬件结合的加密方式。

  6. 硬件加密技术的优势有( )
    A. 安全性高
    B. 加密速度快
    C. 密钥存储安全
    D. 便于软件升级
    答案:ABC。解析:硬件加密技术将加密功能集成到硬件设备中,具有安全性高(如采用物理防护措施防止密钥泄露)、加密速度快(硬件电路执行加密操作)、密钥存储安全(有专门的安全区域存储密钥)等优势;硬件加密设备可能会对软件升级有一定限制,并不一定便于软件升级。

三、判断题

  1. 古典密码学的加密方法在现代已经完全没有应用价值。( )
    答案:错误。解析:虽然现代密码学技术先进,但古典密码学的一些基本思想和简单加密方式在某些简单场景或教学等领域仍有一定价值。

  2. 非对称密钥密码体制中,加密和解密速度比对称密钥密码体制快。( )
    答案:错误。解析:非对称密钥密码体制加密和解密速度相对较慢,对称密钥密码体制加密和解密速度快。

  3. 只要哈希算法产生的散列值相同,那么原始数据一定相同。( )
    答案:正确。解析:哈希算法的特点是对于给定的数据能产生唯一固定长度的散列值,如果散列值相同,理论上原始数据相同,但目前一些哈希算法可能受到碰撞攻击的影响。

  4. 软件加密技术比硬件加密技术安全性更高。( )
    答案:错误。解析:硬件加密技术通常具有更高的安全性,因为它将加密功能集成在专门的硬件设备中,有物理防护措施防止密钥泄露等优势。

相关文章:

密码学——密码学概述、分类、加密技术(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 密码学 大数据…...

【数据库MySQL篇二】MySQL数据库入门基础教程:一网打尽数据库和表各种操作、命令和语法

一、MySQL创建数据库 使用Create命令创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB: [roothost]# mysql -u root -p…...

Android 解决“Could not resolve all artifacts for configuration ‘:classpath‘方法

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 👉点击跳转到教程 报错背景,公司的项目,长时间没有打开,时隔半年再次打…...

青少年编程与数学 02-004 Go语言Web编程 08课题、使用Gin框架

青少年编程与数学 02-004 Go语言Web编程 08课题、使用Gin框架 一、Gin框架二、接收和处理请求三、应用示例 课题摘要:本文介绍了Gin框架的特点、如何接收和处理请求以及一个应用示例。Gin是一个高性能、轻量级的Go语言Web框架,以其快速、极简设计、强大的路由和中间…...

PostgreSQL: 事务年龄

排查 在 PostgreSQL 数据库中,事务年龄(也称为事务 ID 年龄)是一个重要的监控指标,因为 PostgreSQL 使用事务 ID(XID)来保持事务的隔离性。每个事务都会被分配一个唯一的事务 ID,这个 ID 随着每…...

C# 识别二维码

文章目录 一. 二维码识别技术概述二 维码识别的步骤图像预处理二维码的定位和检测二维码解码 三 常用的二维码识别库1. OpenCV2. ZXing.Net 一. 二维码识别技术概述 二维码是一种通过黑白矩阵排列来编码数据的图形符号,它的编码方式具有较强的容错性,可以…...

KeepAlive与RouterView缓存

参考 vue动态组件<Component>与<KeepAlive> KeepAlive官网介绍 缓存之keep-alive的理解和应用 Vue3Vite KeepAlive页面缓存问题 vue多级菜单(路由)导致缓存(keep-alive)失效 vue3 router-view keeperalive对于同一路径但路径…...

RK3588 , mpp硬编码rgb, 保存MP4视频文件.

RK3588 , mpp硬编码yuv, 保存MP4视频文件. ⚡️ 传送 ➡️ RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGBRk3588 FFmpeg 拉流 RTSP, 硬解码转RGBUbuntu x64 架构, 交叉编译aarch64 FFmpeg mppCode Init MppMPP_RET init_mpp...

使用 Wireshark 和 Lua 脚本解析通讯报文

在复杂的网络环境中,Wireshark 凭借其强大的捕获和显示功能,成为协议分析不可或缺的工具。然而,面对众多未被内置支持的协议或需要扩展解析的场景,Lua 脚本的引入为Wireshark 提供了极大的灵活性和可扩展性。本文将详细介绍如何使…...

ElasticSearch08-分析器详解

零、文章目录 ElasticSearch08-分析器详解 1、分析器原理 Elasticsearch的分词器(Analyzer)是全文搜索的核心组件,它负责将文本转换为一系列单词(term/token)的过程,也叫分词。 (1&#xff…...

【IN、NOT、AND、OR】在 MySql 中的使用方法,使用场景、注意事项

目录 IN NOT AND OR 注意事项: 使用场景: IN 用于指定某个字段的值在一个预定义的列表中。 SELECT * FROM users WHERE age IN (20, 25, 30);查询返回 age 字段 是20、25 、30 的用户记录。 NOT 用于对条件进行否定。 查询将返回与指定 条件相…...

Face to face

1.西班牙添加5G volte 首先carrierconfig里使能 <boolean name"carrier_nr_available_bool" value"true" /> <boolean name"carrier_volte_available_bool" value"true" /> 其次 组件apn配置ims参数 2.印度j…...

宝塔配置python项目提示python版本与安装的不符

用宝塔的网站添加了项目&#xff0c;配置选择了python3.8&#xff0c;但是在终端并且进入了虚拟环境查看python的版本居然还是默认是2.7.5版本。 官方是举列说明&#xff0c;这张图是用python管理器生成的 而我用的 网站--python项目&#xff0c; 那么虚拟路径在 /www/serve…...

Restaurants WebAPI(一)—— clean architecture

文章目录 项目地址一、Restaurants.Domain 核心业务层1.1 Entities实体层1.2 Repositories 数据操作EF的接口二、Restaurants.Infrastructure 基础设施层2.1 Persistence 数据EF CORE配置2.2 Repositories 数据查询实现2.3 Extensions 服务注册三、Restaurants.Application用例…...

c++数据结构算法复习基础--13--基数算法

基数排序 - 桶排序 时间复杂度 O(n*d) – d为数据的长度 每次比较一位&#xff08;个位、十位。。。&#xff09;&#xff0c;所以取值范围就为0-9。 根据该特点&#xff0c;设计桶的概念 – 0号桶、1号桶… 1、思想 1&#xff09;找出最长的数字&#xff0c;确定要处理的…...

ntp设置

NTP&#xff08;Network Time Protocol&#xff09;简介 ntp授时定义 - NTP是一种用于在计算机网络中同步时间的协议。它确保网络中的各个设备&#xff08;如服务器、客户端计算机、网络设备等&#xff09;的时钟保持准确一致。 - 其工作原理是通过分层的时钟源体系&#xff…...

如何在Java中使用封装好的API接口?

1.选择合适的 HTTP 库 在 Java 中&#xff0c;可以使用多种库来进行 HTTP 请求。java.net.HttpURLConnection是 Java 标准库中的类&#xff0c;能够满足基本的 HTTP 请求需求&#xff0c;但使用起来相对复杂。另外&#xff0c;还有一些第三方库&#xff0c;如OkHttp和Apache H…...

AWS EKS 相关错误修复 - remote error: tls: internal error - CSR pending

现象 升级aws eks的kubernetes版本后执行kubectl logs 或者kubectl exec相关命令会出现报错 remote error: tls: internal error 执行kubectl get csr -A查看csr出现一直pending的状态,并且出现问题的pod都在新创建出来的eks node节点上 kubectl get csr -A NAME AGE …...

浏览器事件循环机制

JavaScript 是单线程运行的语言&#xff0c;同一时间只能执行一个任务。单线程意味着&#xff1a; 如果某个任务执行时间过长&#xff0c;后续任务会被阻塞。 同步任务和异步任务的调度需要一种机制来管理。 为了解决这个问题&#xff0c;事件循环应运而生&#xff0c;它可以…...

ubuntu22.04编译安装Opencv4.8.0+Opencv-contrib4.8.0教程

本章教程,主要记录在Ubuntu22.04版本系统上编译安装安装Opencv4.8.0+Opencv-contrib4.8.0的具体过程。 一、下载opencv和opencv-contrib包 wget https://github.com/opencv/opencv/archive/refs/tags/4.8.0.zip wget https://github.com/opencv/opencv_contrib/archive/refs/…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...