大数据安全 | 期末复习(中)

文章目录

  • 📚感知数据安全⭐️
    • 🐇传感器概述
    • 🐇传感器的静态特性
    • 🐇调制方式
    • 🐇换能攻击
    • 🐇现有防护策略
  • 📚AI安全⭐️
    • 🐇智能语音系统——脆弱性
    • 🐇攻击手段
    • 🐇AI的两面性
  • 📚哈希函数
    • 🐇哈希函数的分类、特性、用途
    • 🐇自由起始碰撞攻击分析🍎
    • 🐇HD5Hash函数
  • 📚数字签名⭐️
    • 🐇数字签名概述
    • 🐇RSA🍎
    • 🐇RSA数字签名算法

📚感知数据安全⭐️

  • 物理-数字空间的互联且强交互使得跨域攻击成为可能。

🐇传感器概述

  1. 传感器在物联网中的作用相当于人体的感觉器官。
  2. 定义
    • 国家标准GB7665-87对传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。
    • 将被测非电量信号转换为与之有确定对应关系电量输出的器件或装置叫做传感器,也叫变换器、换能器或探测器。
    • 传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。被测量的信息可以是光、热、运动、湿气、压力,或许多其他环境现象中的任何一种。
  3. 组成
    • 传感器一般由敏感器件、传感元件、转换电路和辅助电路四部分组成。
      在这里插入图片描述
    • 敏感元件:直接感受被测非电量并按一定规律转换成与被测量有确定关系的其它量的元件。
    • 传感元件:又称变换器。能将敏感元件感受到的非电量直接转换成电量的器件,如电阻、电感、电容、或者电流电压等。
    • 信号调节与转换电路:能把传感元件输出的电信号转换为便于显示、记录、处理、和控制的有用电信号的电路。
    • 辅助电路通常包括电源等。
  4. 分类
    • 按工作原理分类:物理传感器和化学传感器。
      • 物理传感器可以按其工作原理的物理效应进行分类,诸如压电效应、磁致伸缩现象、离化、极化、热电、光电、磁电等效应。被测信号量的微小变化都将转换成电信号。在这里插入图片描述

      • 化学传感器包括那些以化学吸附、电化学反应等现象为因果关系的传感器,被测信号量的微小变化也将转换成电信号。大多数传感器是以物理原理为基础运作的。化学传感器技术问题较多,例如可靠性问题,规模生产的可能性,价格问题等,解决了这类难题,化学传感器的应用将会有巨大增长。

      • 有些传感器既不能划分到物理类,也不能划分为化学类。

    • 按构成原理分类:结构型传感器和物性传感器。
      • 结构型传感器是基于物理学中场的定律构成的,包括动力场的运动定律、电磁场的电磁定律等。物理学中的定律一般是以方程式给出的。对于传感器来说,这些方程式也就是许多传感器在工作时的数学模型。这类传感器的特点是传感器的工作原理是以传感器中元件相对位置变化引起场的变化为基础。在这里插入图片描述
      • 物性型传感器是基于物质定律构成的,如虎克定律、欧姆定律等。物质定律是表示物质某种客观性质的法则。因此,物性型传感器的性能随材料的不同而不同。如光电管就是物性型传感器,它利用了物质法则中的外光电效应。
    • 按能量转换情况分类:能量控制型传感器和能量转换型传感器。
      • 能量控制型传感器,在信息变化过程中,其能量需要外电源供给,如电阻、电感、电容等。电路参量传感器都属于这一类传感器。基于应变电阻效应、磁阻效应、热阻效应、光电效应、霍尔效应等的传感器也属于此类传感器。
      • 能量转换型传感器,主要由能量变换元件构成,不需要外电源。如基于压电效应、热电效应、光电动势效应等的传感器都属于此类传感器。
    • 按输出信号分类:模拟传感器、数字传感器、开关传感器等。
      • 模拟传感器:将被测量的非电学量转换成模拟电信号。
      • 数字传感器输出信号为数字量(或数字编码)的传感器。是指将传统的模拟式传感器经过加装或改造A/D转换模块,使之输出信号为数字量(或数字编码)的传感器,主要包括:放大器、A/D转换器、微处理器(CPU)、存储器、通讯接口电路等。
      • 开关传感器:当一个被测量的信号达到某个特定的阈值时,传感器相应地输出一个设定的低电平或高电平信号。

🐇传感器的静态特性

  1. 定义:传感器的静态特性是指对静态的输入信号,传感器的输出量与输入量之间所具有相互关系。因为这时输入量和输出量都和时间无关,所以它们之间的关系,即传感器的静态特性可用一个不含时间变量的代数方程,或以输入量作横坐标、把与其对应的输出量作纵坐标而画出的特性曲线来描述。
  2. 主要参数:表征传感器静态特性的主要参数有:线性度、灵敏度、迟滞、重复性、漂移等。

  • 线性度:传感器的线性度是指其输出量与输入量之间的关系曲线偏离理想直线的程度,又称为非线性误差。在不考虑迟滞、蠕变等因素的情况下,其静态特性可用下列多项式代数方程来表示,由于存在二次、高次项,所以传感器的输出是非线性的,这将导致传感器会存在一定的安全风险。
    在这里插入图片描述
  • 灵敏度:灵敏度是传感器静态特性的一个重要指标。其定义为传感器在稳态信号作用下输出量变化对输入量变化的比值。用S表示灵敏度。
  • 迟滞:传感器在输入量由小到大(正行程)及输入量由大到小(反行程)变化期间其输入输出特性曲线不重合的现象成为迟滞。对于同一大小的输入信号,传感器正反行程的输出信号大小不相等,这个差值称为迟滞差值∆H_max,迟滞误差一般以满量程输出的百分数表示。原因:机械及结构材料的弱点,如摩擦、松动等。
    在这里插入图片描述
  • 重复性:重复误差表征的是传感器在输入按同一方向作全量程连续多次变动时所得特性曲线不一致的程度。其反映的是测量结果偶然误差的大小,而并不表示与真实值的差别。
  • 漂移:传感器的漂移是指在输入量不变的情况下,传感器输出量随着时间变化,此现象称为漂移。产生漂移的原因有两个方面:一是传感器自身结构参数;二是周围环境(如温度、湿度等)。
  • 分辨率:分辨率是指传感器能够感知或检测到的最小输入信号增量。分辨率可以用绝对值或与满量程的百分比来表示。分辨率高是精度高的必要条件而非充分条件。

🐇调制方式

  • 调幅(AM):载波的幅度(信号强度)是与所发送的波形成比例变化,调制信号是载波信号的包络线。图:上为基带信号、中为载波信号,下为调制后的信号。
    在这里插入图片描述
  • 调频(FM):是一种以载波的瞬时频率变化来表示信息的调制方式。(与此相对应的调幅方式是透过载波幅度的变化来表示信息,而其频率却保持不变)。
  • 调相:又称相位调制,是一种以载波的瞬时相位变化来表示信息的调制方式,载波的初始相位是随着调制信号而变化的。

🐇换能攻击

  • 海豚音攻击:利用人耳听不到的超声波频段进行攻击!超声波信号被低频滤波器滤掉,怎么办?采用信号调制的方法。经过调制的基带信号,会经过麦克风器件的非线性作用还原出来!在这里插入图片描述

  • 非线性作用

    • 定义:非线性是指器件的输入输出不是线性相关,路中的元器件在本质上是非线性的,由非线性的电路构成或者实现的系统也是非线性的。
    • 存在范围:麦克风、放大器及滤波器等器件都是输入/输出信号传输特性中具有平方及多次项非线性的组件。
    • 非线性特征会带来不希望有的失真,产生新的频率,通过精心设计的输入信号,这些新的频率可以恢复出基带信号。

  • 激光攻击:通过激光调制声音,实现对智能语音设备的无声控制。
  • 原理:光信号能够使麦克风的薄膜产生同频率的振动;利用此现象调制特定波形的激光信号,注入语音系统实现无声的控制。
    在这里插入图片描述

🐇现有防护策略

  • 基于非线性特征的攻击检测方法:特征和设备有关,无法构造统一的检测模型。
  • 基于“保护信号”的攻击检测方法
    在这里插入图片描述

📚AI安全⭐️

🐇智能语音系统——脆弱性

  • 安全脆弱点:语音获取、语音识别算法
    • 语音获取:语音获取模块存在麦克风和放大器,具有感知脆弱性。
      • 麦克风:将声波信号转换为电信号
      • 放大:放大转换后的电信号
      • 滤波:滤除信号中的高频分量
      • AD转换:将模拟信号转换为数字信号
    • 语音识别:语音识别算法不能完美的模拟人耳识别声音,具有算法脆弱性。
      • 语音特征提取
      • 将特征输入到训练好的语音识别模型中,输出识别的文本数据
  • 脆弱性分析——语音获取
    • 非线性作用:麦克风和放大器是非线性元件,输入高频信号,输出信号中包含低频信号。
    • 光声效应
    • EMI耦合:电磁信号可耦合在线路中,产生虚假“声音”。
  • 脆弱性分析——语音识别
    • 对语音识别AI模型进行攻击,篡改识别结果
    • 结果:耳听不为实

🐇攻击手段

  • Artificial Intelligence ,人工智能,是指能够感知环境并采取行动以最大程度地成功实现目标的任何设备。
  • 一个更精细的定义:“一个系统能够正确解释外部数据,从这些数据中学习并通过灵活的适应来实现特定目标和任务的能力。”
  • 特点:从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类。更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果。
  • 需要注意的是,机器学习的目标是使学到的函数很好地适用于“新样本”,而不仅仅是在训练样本上表现很好。学到的函数适用于新样本的能力,称为泛化能力;而不能泛化则会出现过拟合问题。
    在这里插入图片描述
    在这里插入图片描述

  • 主要攻击手段
    • 数据中毒:攻击者通过将中毒的样本引入训练/验证/测试集造成的因果攻击。

      • 中毒来源:可以是来自该领域的,有针对性的或无差别的的方式错误标记的样本,或是被修改值的样本,或者非该领域的典型样本(如将鸟的图片放入手写数字识别训练集)。
      • 原理:错误的或是中毒的样本,会使分类器学到错误的特征,从而改变了分类器模型。
        在这里插入图片描述
    • 对抗样本: 指攻击者通过输入经过不为人所察觉的、精心扰动后的样本,使得分类模型决策发生本不应该发生的变化。又被称为测试阶段逃逸攻击(evasion attack),是深度学习攻击中研究最广泛的一类攻击。

      • 例如为人脸添加一定的噪声,在人难以分辨的情况下,使得分类模型误分类。
      • 与数据中毒攻击类似,这样的攻击可以是有导向性的,也可以是无导向性的。近来研究表示,甚至能够在现实环境中构建对抗样本以干扰分类器。
        在这里插入图片描述
      • 对抗攻击分类:白盒攻击、黑盒攻击、API攻击、物理攻击、定向攻击、非定向攻击
    • 逆向工程:通过查询一个分类器,以了解它的决策规则或它的训练集(即对数据隐私的攻击)。

      • 不同目标:
        • 模型推断攻击(model inference attack):针对模型参数、结构等,试图构建与目标模型决策类似的模仿模型;
        • 数据重构攻击(model inverse attack):从模型预测结果中提取和训练数据有关的信息,获取训练集隐私的攻击,具体指重构训练集中的样本;
        • 成员推理攻击(如membership inference attack):获取训练集隐私的攻击,具体指判断某个样本是否属于训练集,如艾滋病患者数据集。

  • 基于攻击目标分类
    • 因果攻击:更改学习的分类模型。
      • 有针对性的攻击:确保分类器将特定的数据样本分配给选定的(目标)类别。(例如让某张8被分类器识别为5)
      • 无差别的攻击:在不确保分配特定目标类的情况下,仅试图寻求对特定数据样本更改做出的决定。(例如让某张8被识别错误
      • 可用性攻击:通过将分类器的准确性降低到无法接受的低水平来使其无法使用。(例如让分类器识别尽可能多出错)
    • 探索性攻击:不更改学习的模型,而是探索学习有关模型或训练数据集参数的信息。
  • 基于攻击入口分类
    在这里插入图片描述

🐇AI的两面性

  • AI助力防御
    • 检测:如网络入侵检测、恶意软件检测、用户实体行为分析、垃圾邮件检测等
    • 认证:用户认证,如刷脸、语音解锁等
    • 设计加密算法
    • 物理智能安防
    • 军用机器人
  • AI助力攻击
    • 自动化网络攻击
    • 助力有害信息传播
    • 助力虚假信息内容制作
    • 智能恶意代码
    • 神经网络后门
    • 对抗机器学习
    • 助力自主武器研发

📚哈希函数

🐇哈希函数的分类、特性、用途

  • 定义:哈希函数(英語:Hash function)又称散列算法、单向散列函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。
  • 分类:不带密钥的Hash函数(MDC)、带密钥的Hash函数(MAC)。
  • 用途:数据完整性检验、用于数字签名、密钥推导、伪随机数生成。
  • 特性
    • 单向性 :给出一个Hash值 z,求出一个m,使 H(m) = z 成立,在计算量上讲是不可行的。
    • 弱无碰撞性 :任意给定一个报文m1,找出另一个不同的报文m2,使得H(m2) = H(m1),在计算上不可行。意义:将一份报文的指纹伪造成另一份报文的指纹在计算上是不可行的。
    • 强无碰撞性:找出具有相同Hash值H(m1) = H(m2)的两份不同的报文m1和m2,在计算上是不可行的。
    • 若一个Hash函数具有强无碰撞性,则一定具有弱无碰撞性!
    • 若一个Hash函数不具有弱无碰撞性,则一定不具有强无碰撞性!

🐇自由起始碰撞攻击分析🍎

  • 目的:找到两个不同的报文m1和m2,使得H(m1)=H(m2)。
    在这里插入图片描述

  • 概率计算:设取了N个报文,hash值有n个比特
  • 碰撞攻击成功率 = Pr[N个报文中至少存在一对消息,使得Hash值相同] = 1 - Pr[N个报文的Hash值都不同]
    在这里插入图片描述
  • 证明⭐️
    在这里插入图片描述

在这里插入图片描述

  • 安全界限
    在这里插入图片描述

🐇HD5Hash函数

  • MD5的特点:对任意长度的输入,产生128位的输出;且其安全性不依赖于任何假设,适合高速实现。
  • MD5算法的一个主循环一次可处理512比特数据分组。执行主循环t(t等于填充后消息长度除以512)次最后输出为128比特。
  • 初始化处理
    在这里插入图片描述
    在这里插入图片描述

📚数字签名⭐️

🐇数字签名概述

  • 数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,类似于手写签名,可保证每个用户都可验证信息来源,是对信息的发送者身份真实性的一个有效证明。
  • 目的和作用
    • 表示签名者对消息的认可;
    • 他人可识别和验证出是谁的签名;
    • 他人无法伪造和更改签名,即
      • 无法凭空造出一个签名;
      • 对一个文件的签名不能复制或篡改成对另一个文件的签名;
    • 可仲裁性: 出现争议时第三方可仲裁。仲裁的内容:
      • 签名者是否在抵赖,否认签名;
      • 验证者是否在欺诈,伪造签名。
  • 签名的实现方式:就是在原文件上追加一定的笔迹信息,并使二者形成一个整体。
  • 数字签名应满足的条件
    • 签名应与文件是一个不可分割的整体 ;实现:对消息进行某种变换完成签名;使签名是待签名的文件的函数。
    • 签名者事后不能否认自己的签名; 实现:签名是通过发方所独有的秘密信息来完成,并且该秘密信息对应惟一公开的验证信息,使签名者不能抵赖自己的签名。
    • 任何人能验证签名,但是没有私钥的人都不能伪造签名;实现:签名必须与特定的公开信息相对应,使收方能够验证;签名应与签名者独有的秘密信息密切相关,使其他人不能伪造。
      在这里插入图片描述
    • 当双方关于签名的真伪发生争执时,一个法官或第三方能解决双方之间发生的争执。 实现:签名对应的验证密钥应由可信的第三方确认并公布。当发生争执时,靠法律解决争端。
  • 应用广泛的原因
    • 来源:如果消息包含签名,说明该消息源于这个人。
    • 完整性:如果有人篡改了消息,签名就会失效。
  • 与消息认证码(MAC)有什么异同
    • 相同点:都可以实现消息的完整性校验。
    • 不同点:数字签名可以使用不对称的方式验证消息。
  • 数据签名的实际用法:公钥基础设施:把公钥与对应私钥所有者对应起来,确保一个特定的公钥属于一个特定的拥有者(公钥身份识别)。
    • 核心功能:数字证书。
    • 数字证书是带数字签名的数据结构,它与公钥一起来验证证书所有者身份以及相关信息,例如有效期。
  • 数据签名分类
    • 利用特殊的公钥加密算法实现。
      在这里插入图片描述
      在这里插入图片描述

      • 并非所有的公钥加密算法都能实现数字签名,只有满足 D k d ( E k ε ( x ) ) = E k ε ( D k d ( x ) ) = x D_{k_d}(E_{k_ε}(x)) = E_{k_ε}(D_{k_d}(x))=x Dkd(Ekε(x))=Ekε(Dkd(x))=x的公钥密码算法,才能实现数字签名。其中D是解密算法,E是加密算法。
    • 利用专门设计的数字签名算法实现。

🐇RSA🍎

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🐇RSA数字签名算法

  • 记用户A的参数为 ( N A , e A , d A ) (N_A , e_A, d_A) NA,eA,dA ,用户B的参数为 ( N B , e B , d B ) (N_B , e_B, d_B) NB,eB,dB,E为加密算法,D为脱密算法。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  1. N A < N B N_A<N_B NA<NB时,先签名,后加密
    • 用户A先用自己的保密密钥 d A d_A dA对消息m进行签名,得到: y = m d A m o d N A y=m^{d_A}modN_A y=mdAmodNA
    • A再用用户B的公开密钥 e B e_B eB对签名y进行加密,得到: c = y e B m o d N B c=y^{e_B}modN_B c=yeBmodNB,然后将既签名,又加密了的 c 发送给用户B ;
    • B收到c后,先进行变换: y = c d B m o d N B y=c^{d_B}modN_B y=cdBmodNB,再用A的公开密钥作变换: m ′ = y e A m o d N A m^{'}=y^{e_A}modN_A m=yeAmodNA,从而验证签名来自A。
  2. N A > N B N_A>N_B NA>NB时,先加密,后签名
    • 用户A先用B的公开密钥 e B e_B eB对消息m进行加密,得到: y = m e B m o d N B y=m^{e_B}modN_B y=meBmodNB
    • A再用自己的保密密钥 d A d_A dA对y进行签名,得到: c = y d A m o d N A c=y^{d_A}modN_A c=ydAmodNA,然后将既签名,又加密了的 c 发送给用户B;
    • B收到c后,先进行变换: y = c e A m o d N A y=c^{e_A}modN_A y=ceAmodNA,再用自己的保密密钥作变换: m = y d B m o d N B m=y^{d_B}modN_B m=ydBmodNB,从而验证签名来自A。
  3. 通用的解决方案:系统中的每个用户采用两个模数,一个用于加密,一个用于签名。并且保证所有用户的签名模数均小于其他用户的加密模数。

  • RSA数字签名的缺点
    • 利用用户A的签名验证密钥 k e k_e ke,任意给定y,任何人都可计算出: x = y k e m o d n x=y^{ke} mod n x=ykemodn,因而可以伪造对消息x的签名y。
    • 如果用户A对文件 x 1 x_1 x1和文件 x 2 x_2 x2的签名分别为 y 1 y_1 y1 y 2 y_2 y2,由于 ( x 1 x 2 ) d m o d n = [ ( x 1 d m o d n ) ( x 2 d m o d n ) ] m o d n (x_1x_2)^{d}modn= [(x_1^{d}modn)(x_2^{d}modn)]modn (x1x2)dmodn=[(x1dmodn)(x2dmodn)]modn,故任何第三方知道 x 1 x_1 x1 , x 2 x_2 x2, y 1 y_1 y1, y 2 y_2 y2,并不知道d,都可伪造出用户A对文件 x 1 x 2 m o d n x_1x_2modn x1x2modn的签名 y 1 y 2 m o d n y_1y_2modn y1y2modn。 但是 x 1 x 2 m o d n x_1x_2modn x1x2modn 的具体值伪造者无法控制。
    • 对长文件的签名:签名变长,签名速度慢;解决方案:先将文件压缩成一个摘要,再对摘要签名。
      在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot快速写接口

1. 建proj形式 name会变成文件夹的名字&#xff0c;相当于你的项目名称 基础包 2. 基础依赖 3. 配置数据库 这里要打开mysql&#xff0c;并且创建数据库 方法&#xff1a; 安装好数据库&#xff0c;改好账号密码用navicat来建表和账号配置properties.yml文件即可 4.用res…

实现负载均衡

1.安装依赖 sudo apt insta11 libgd-dev 2.下载nginx wget http://nginx.org/download/nginx-1.22.1.tar.gz 3.解压nginx tar -zvxf nginx-1.22.1.tar.g2 4.编译安装 cd nginx-1.22.1 5.编译并指定安装位置&#xff0c;执行安装之后会创建指定文件夹/www/env/nginx ./configure…

【阻塞队列】阻塞队列的模拟实现及在生产者和消费者模型上的应用

文章目录 &#x1f4c4;前言一. 阻塞队列初了解&#x1f346;1. 什么是阻塞队列&#xff1f;&#x1f345;2. 为什么使用阻塞队列&#xff1f;&#x1f966;3. Java标准库中阻塞队列的实现 二. 阻塞队列的模拟实现&#x1f35a;1. 实现普通队列&#x1f365;2. 实现队列的阻塞功…

掌握Pyecharts:绘制炫酷词云图的参数解析与实战技巧【第36篇—python:词云图】

文章目录 安装Pyecharts基本的词云图绘制自定义词云图样式多种词云图合并高级词云图定制与交互1. 添加背景图片2. 添加交互效果 使用自定义字体和颜色从文本文件生成词云图总结&#xff1a; 在数据可视化领域&#xff0c;词云图是一种极具表现力和趣味性的图表&#xff0c;能够…

【DevOps】Jenkins Extended E-mail 邮件模板添加自定义变量

文章目录 1、配置Jenkins邮箱2、配置告警模板1、配置Jenkins邮箱 略 2、配置告警模板 自定义变量:DYSK_PYTEST_STATUS // Uses Declarative syntax to run commands inside a container. pipeline {agent {kubernetes {cloud "kubernetes" //选择名字是kuberne…

vivado DDS学习

实现DDS通常有两种方式&#xff0c;一种是读取ROM存放的正弦/余弦信号的查表法&#xff0c;另一种是用DDS IP核。这篇学习笔记中&#xff0c;我们要讲解说明的是VIVADO DDS IP核的应用。 目前本篇默认Phase Generator and SIN/COS LUT&#xff08;DDS&#xff09;的standard模式…

10.Elasticsearch应用(十)

Elasticsearch应用&#xff08;十&#xff09; 1.为什么需要聚合操作 聚合可以让我们极其方便的实现对数据的统计、分析、运算&#xff0c;例如&#xff1a; 什么品牌的手机最受欢迎&#xff1f;这些手机的平均价格、最高价格、最低价格&#xff1f;这些手机每月的销售情况如…

SpringCloud-Knife4j文档聚合

在微服务架构下&#xff0c;如果给每个微服务都配置文档&#xff0c;那么每个微服务的接口文档都有自己独立的访问地址&#xff0c;这样要一个个打开每个微服务的文档非常麻烦。一般我们会采用聚合的办法&#xff0c;将所有微服务的接口整合到一个文档中&#xff0c;具体做法有…

web前端项目-五子棋【附源码】

五子棋&#xff08;人机对弈&#xff09; 本项目【五子棋】是一款人机对弈的策略型棋类游戏。可以选择落子方&#xff1b;游戏难度和是否显示落子次序。游戏双方分别使用黑白两色的棋子&#xff0c;在棋盘直线与横线的交叉点上进行对弈。五子棋可以促进大脑发育、提高思维能力…

openlayers+vue实现缓冲区

文章目录 前言一、准备二、初始化地图1、创建一个地图容器2、引入必须的类库3、地图初始化4、给地图增加底图 三、创建缓冲区1、引入需要的工具类库2、绘制方法 四、完整代码总结 前言 缓冲区是地理空间目标的一种影响范围或服务范围,是对选中的一组或一类地图要素(点、线或面…

华为三层交换机之基本操作

Telnet简介 Telnet是一个应用层协议,可以在Internet上或局域网上使用。它提供了基于文本的远程终端接口&#xff0c;允许用户在本地计算机上登录到远程计算机&#xff0c;然后像在本地计算机上一样使用远程计算机的资源。Telnet客户端和服务器之间的通信是通过Telnet协议进行的…

[蓝桥杯]真题讲解:冶炼金属(暴力+二分)

蓝桥杯真题视频讲解&#xff1a;冶炼金属&#xff08;暴力做法与二分做法&#xff09; 一、视频讲解二、暴力代码三、正解代码 一、视频讲解 视频讲解 二、暴力代码 //暴力代码 #include<bits/stdc.h> #define endl \n #define deb(x) cout << #x << &qu…

C语言第十弹---函数(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 函数 1、函数的概念 2、库函数 2.1、标准库和头文件 2.2、库函数的使用方法 2.2.1、功能 2.2.2、头文件包含 2.2.3、实践 2.2.4、库函数文档的⼀般格式 …

PWM调光 降压恒流LED芯片FP7127:为照明系统注入新能量(台灯、GBR、调光电源、汽车大灯)

目录 一、降压恒流LED芯片FP7127 二、降压恒流LED芯片FP7127具有以下特点&#xff1a; 三、降压恒流LED芯片FP7127应用领域&#xff1a; LED照明和调光的新纪元随着LED照明技术的不断发展&#xff0c;人们对于照明调光的需求也越来越高。PWM调光技术作为一种常用的调光方法&…

RUST笔记:candle使用基础

candle介绍 candle是huggingface开源的Rust的极简 ML 框架。 candle-矩阵乘法示例 cargo new myapp cd myapp cargo add --git https://github.com/huggingface/candle.git candle-core cargo build # 测试&#xff0c;或执行 cargo ckeckmain.rs use candle_core::{Device…

设计模式—行为型模式之责任链模式

设计模式—行为型模式之责任链模式 责任链&#xff08;Chain of Responsibility&#xff09;模式&#xff1a;为了避免请求发送者与多个请求处理者耦合在一起&#xff0c;于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链&#xff1b;当有请求发生时&am…

wsl下安装ros2问题: Unable to locate package ros-humble-desktop 解决方案

❗ 问题 在wsl&#xff08;Ubuntu 22.04版本&#xff09;下安装ros的过程中&#xff0c;在执行命令 $ sudo apt install ros-humble-desktop一直弹出报错&#xff1a;Unable to locate package ros-humble-desktop 前面设置编码和添加源的过程中一直没有出现其他问题&#…

Docker 配置 Gitea + Drone 搭建 CI/CD 平台

Docker 配置 Gitea Drone 搭建 CI/CD 平台 配置 Gitea 服务器来管理项目版本 本文的IP地址是为了方便理解随便打的&#xff0c;不要乱点 首先使用 docker 搭建 Gitea 服务器&#xff0c;用于管理代码版本&#xff0c;数据库选择mysql Gitea 服务器的 docker-compose.yml 配…

基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现

基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpringBootvueelementui的校园文具商城系统详细设计和实现前言介绍&#xff1a;系统设计&#xff1a;系统开发流程用户登录流程系统操作流程 功能…

剧本杀小程序开发:打造沉浸式推理体验

随着社交娱乐形式的多样化&#xff0c;剧本杀逐渐成为年轻人喜爱的聚会活动。而随着技术的发展&#xff0c;剧本杀小程序的开发也成为了可能。本文将探讨剧本杀小程序开发的必要性、功能特点、开发流程以及市场前景。 一、剧本杀小程序开发的必要性 剧本杀是一种角色扮演的推…