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

欧几里得度量和余弦度量的可取消生物识别方案

欧几里得度量和余弦度量的可取消生物识别方案

便捷的生物识别数据是一把双刃剑,在为生物识别认证系统的繁荣铺平道路的同时,也带来了个人隐私问题。为了缓解这种担忧,提出了各种生物特征模板保护方案来保护生物特征模板免于信息泄露。现有提案的优势是基于汉明度量,它忽略了一个事实,即主要部署的生物特征识别系统(例如面部、语音、步态)生成实值模板,更适用于欧几里德度量和余弦度量。此外,由于基于相似性的攻击的出现,这些方案在被盗令牌设置下并不安全。在本文中,我们提出了一种简洁的生物识别模板保护方案来应对这一挑战。所提出的方案是为欧几里德度量和余弦度量而不是汉明距离设计的。简洁的生物特征模板保护方案主要由距离保持、单向和混淆模块组成。具体来说,我们采用位置敏感哈希函数同时实现距离保持和单向特性,并使用取模运算实现多对一映射。我们还从三个方面深入分析了所提出的方案:不可逆性、不可链接性和可撤销性。此外,还对众所周知的人脸数据库进行了全面的实验。所有的结果都表明了所提出方案的有效性。我们采用位置敏感哈希函数同时实现距离保持和单向特性,并使用模运算实现多对一映射。我们还从三个方面深入分析了所提出的方案:不可逆性、不可链接性和可撤销性。此外,还对众所周知的人脸数据库进行了全面的实验。所有的结果都表明了所提出方案的有效性。我们采用位置敏感哈希函数同时实现距离保持和单向特性,并使用模运算实现多对一映射。我们还从三个方面深入分析了所提出的方案:不可逆性、不可链接性和可撤销性。此外,还对众所周知的人脸数据库进行了全面的实验。所有的结果都表明了所提出方案的有效性。

介绍

指纹、虹膜、人脸等生物识别技术已成为军事、金融、监控、公安等领域认证系统的热门选择,具有广阔的应用前景。通常,生物认证方案包括两个阶段:注册和验证。在注册过程中,传感器捕获用户的生物特征样本(例如面部、虹膜或手指的图像),然后使用特征提取器从生物特征中生成生物特征向量(即普通生物特征模板) . 在验证中,传感器捕获用户的新生物特征样本,并使用相同的特征提取器从该新图像中提取新的生物特征模板。然后将新的生物特征模板与登记的生物特征模板进行比较。如果它们在某个度量空间中相似或接近,验证成功。在过去的几十年中,已经进行了无数的研究来提高生物特征认证算法的识别准确性。近年来,基于深度学习的生物特征认证方案在识别精度方面取得了显着进步[例如人脸(Deng et al.2020 年;计算技术研究所2020 ; 兰詹等人。2019 年)、语音(Baevski 等人2021 年;Conneau 等人2020 年;Xu 等人2020 年)和步态(Fan 等人2020 年;Chao 等人2022 年))]。最先进的基于深度学习的方法输出一个实值生物特征向量,不同生物特征模板之间的相似性通常用欧氏距离或余弦距离来衡量。从技术上讲,生物特征提取的设计目标是使类内距离(即同一用户的不同特征向量之间的距离)尽可能小,同时使类间距离(即同一用户的特征向量之间的距离)尽可能小。不同的用户)尽可能大,以优化错误接受率(FAR)和错误拒绝率(FRR)。

然而,随着生物识别认证系统的大规模部署,对敏感生物识别数据的隐私问题正在出现。最近的研究 Mai 等人。(2018 年)、Gomez-Barrero 和 Galbally(2020 年)和 Wang 等人。( 2021b) 表明原始生物特征图像可以很容易地从普通生物特征模板重建,这对个人隐私构成严重威胁。近年来,已经提出了许多保护隐私的生物特征认证方案来保护普通生物特征模板。生物特征模板保护 (BTP) 方案是一种众所周知的方法,它从普通生物特征向量生成转换(加密、投影)模板。BTP方案可以看作是对普通生物特征向量的保距不可逆变换,因此可以在不降低识别准确率的情况下,增强现有生物特征认证系统的隐私保护。请注意,转换函数需要一个密钥(即用户提供的令牌)才能从生物特征向量生成 BTP。除了,BTP 方案需要是不可链接和可撤销的。可撤销是指一旦攻击者窃取了BTP,合法用户可以使用新的token发布一个独立于原BTP的新BTP。Unlinkability 要求同一用户的不同生物特征生成的两个 BTP 是独立的。

当前的大多数 BTP 方案(Chin 等人2006 年;Rathgeb 等人2014 年;Pillai 等人2011 年;Lai 等人2017 年;Sadhya 等人2019 年;Sadhya 和 Raman 2019 年)都是为 Hamming 中的二进制生物识别模板设计的公制。考虑到大多数生物特征识别方法在现实中都是生成具有欧几里德或余弦距离度量的实值模板(如人脸、语音、步态),因此迫切需要促进欧几里德或余弦度量的BTP研究。到目前为止,只有少数 BTP 方案被提出用于欧氏或余弦度量。例如,Biohashing (Jin et al. 2004) 是第一个用于人脸图像的 BTP 方案。它首先在普通生物特征模板上应用随机投影,实现欧几里得度量中的降维和保距。这里,随机投影是由 Johnson-Lindenstrauss 引理 (Goel et al. 2005 ) 激发的,用于随机投影的正交基向量组由用户的随机种子生成。然后使用阈值对投影值进行二值化。此外,可以对二进制字符串的结果进行哈希处理以供用户验证。

Pathak 和 Raj ( 2012 ) 首先引入了局部敏感哈希 (LSH) 来为实值语音信号生成可取消的生物识别模板。语音特征向量首先经过欧几里得 LSH 处理,然后将结果向量的密码哈希值存储为 BTP。值得注意的是,不同于随机投影仅实现欧几里得度量的降维,LSH函数将欧几里得向量离散化,结果向量直接在汉明距离中进行比较。LSH 函数保证了欧氏距离或余弦距离较小的向量有较大的碰撞可能性。这样,一定程度上保留了距离。近年来,Jin 等人。(2018 年)和 Sadhya 等人。( 2019)提出了“最大索引”(IOM)散列法,这是 LSH 的一种特殊形式,用于构建可取消的生物特征模板。赖等。( 2021 ) 也提出了一种基于余弦 LSH 的 BTP 生成方案 (Charikar 2002 )。

此外,还提出了一些基于深度学习的 BTP 方案(Mai 等人2021 年;Hahn 和 Marcel 2021 年;Kumar Pandey 等人2016 年)。这些方案通常训练一个多层神经网络来实现从欧氏向量到随机分布码字的映射。然而,与概念上更简单且数据无关的基于 LSH(或基于随机投影)的 BTP 方案相比,这些基于深度学习的方案在重新发布新模板时可能需要重新训练整个网络。

目前,基于距离保持哈希的方案的一个主要问题(Jin 等人2004 年;Pillai 等人2011 年;Gomez-Barrero 等人2014 年;Lai 等人2017 年;Jin 等人2018 年;Sadhya 等人。2019;Lai 等人2021)是他们在被盗令牌设置中很容易受到攻击,在这些设置中,对手可以获得用户的密钥。帕特里克等人。和 Ghammam 等人。( 2020 ) 成功地使用线性方程和二次规划对 Biohashing、URP-IoM 和 GRP-IoM 方案进行密码分析。毫不奇怪,大多数 BTP 方案通常会泄露转换后模板之间的相似性分数,攻击者可以发起基于相似性的攻击(Wang 等人,2016 年)。2021a ; 陈等。2019 ; 董等。2019 ; 赖等。2021 ),其中可以以迭代方式基于相似性得分构建目标模板。

保护生物特征数据免受基于相似性的攻击的问题已成为最紧迫的研究问题。陈等。( 2019 ) 提出了一种基于深度学习方法的生物特征模板安全量化方法,该方法通过最小化哈希空间中类间距离的方差来获得较小的信息泄漏。他们通过虹膜实验证明了他们的方法具有出色的识别性能。但是,为了最小化散列值的类间距离的方差,他们要求不同类的散列距离是等距的。这种情况导致编码空间和编码长度应该足够大和足够长以构建具有更多类的数据集。当等人。( 2020) 提出了另一种基于学习的生物识别模板保护方法。他们提出的模型通过单次和多次注册进行训练,以高概率将生物特征数据编码为预定义的输出。然而,这两种方法 (Chen et al. 2019 ; Dang et al. 2020 ) 都具有很强的数据依赖性,需要预先定义和预先训练。如果场景或数据库发生变化,可能需要重新训练。正如 Chen 等人所指出的。( 2019 ),当不同转换模板的相似性得分分布呈现线性特性时,基于相似性的攻击就会发挥作用。因此,这些攻击在非线性情况下是无效的。赖等。( 2021) 提供了一种抵抗基于相似度攻击的解决方案,它通过计算子集内部的相似度,然后通过一个阈值计算整体相似度来实现非线性。然而,如果对手能够知道模板生成的算法细节,十进制模板可以很容易地转换回二进制模板。因此,关系变为线性,对手可以进行基于相似性的攻击。总的来说,目前还不清楚如何在令牌被盗的情况下构建一个安全的 BTP 方案来抵御基于相似性的攻击。

在本文中,我们首先提出了一种安全的 BTP 方案,用于在被盗令牌设置下的欧几里得度量和余弦度量下的实值生物特征模板。具体而言,首先将保持距离的散列函数应用于实值生物特征向量以生成散列码向量。然后设计一个多对一的映射函数并将其应用于哈希码向量中的每个值以生成受保护的模板。此外,基于阈值的匹配器被设计用于将输入与存储的模板进行比较。由于设计,通过引入多对一映射机制以及哈希函数和多对一映射函数的新颖组合来实现不可逆性。最后,2020 年;拉查姆等人。2013 ) 和令牌被盗场景下的基于相似性的攻击。为了评估性能,我们进行了综合实验,以研究欧几里得 LSH 选择和模函数选择的影响,并将其与现有技术的准确性进行比较。最后,我们彻底进行了安全和隐私分析,尤其是在不可逆性、不可爱性和可撤销性方面。

相似度分数的阈值

在模板匹配阶段,阈值对判断两个模板是否来自同一个人起着重要作用。如果两个模板之间的相似度得分超过阈值,则模板被识别为来自同一个人。同时,如果相似度得分低于阈值,则模板被识别为来自不同的人。在本文中,我们采用通常的做法(Jin et al. 2018;Lai et al. 2021),将阈值设置在 FAR 等于 FRR 的点。图 4显示了模板在不同人之间(即类间比较)和同一个人之间(即类内比较)的相似性得分分布。红色区域的面积代表 FAR,蓝色区域的面积代表 FRR。绿色垂直线与 X 轴的交叉点设置为阈值。如果阈值增加,绿色垂直线在 X 轴上从左向右移动,我们可以看到 FRR 增加而 FAR 减少。当 FAR 等于 FRR 时,相应的相似度得分被设置为阈值。

图 4

、、和余弦 LSH 在、、下的欧几里德 LSH 方案的阈值。a - d显示基于欧几里德 LSH 方案的结

欧几里德 LSH 宽度c的影响

欧几里得 LSH 的宽度影响距离保持散列的等错误率 (EER)。EER与宽度c的关系如图5所示 。可以观察到,当c增加且时,EER 会降低。当c超过 0.2 时,EER 没有显着变化。原因如下: 基于方程式。 2,可得:当c增大时,单欧几里德LSH函数的输出范围减小,即减小。对于类内比较,LSH的输出值有较大的碰撞可能性。但是对于类间比较,由于LSH的输出值还是很大,碰撞的可能性并没有提高太多。因此,FRR 减少而 FAR 很少增加。结果,EER 将降低。当c增大,时,对于类间比较,因为LSH的输出值比较小,碰撞的可能性也会提高,就像类内的情况一样。因此,FRR 减少而 FAR 增加。

结论

在本文中,我们提出了一种简洁的安全生物识别模板保护方案,该方案可以在令牌被盗场景下抵御强大的基于相似性的攻击。在该方案中,我们不仅引入了多对一映射机制,而且引入了距离保持散列和多对一映射的新颖组合,以克服现有 BTP 方案的弱点。此外,我们通过采用LSH函数实现距离保持散列和设计模函数来实现多对一映射来实例化该方案。最后,我们对实例化进行了全面的理论和实验分析。

 

相关文章:

欧几里得度量和余弦度量的可取消生物识别方案

欧几里得度量和余弦度量的可取消生物识别方案 便捷的生物识别数据是一把双刃剑,在为生物识别认证系统的繁荣铺平道路的同时,也带来了个人隐私问题。为了缓解这种担忧,提出了各种生物特征模板保护方案来保护生物特征模板免于信息泄露。现有提案…...

平板作为主机扩展屏的实现

网上有许多教程使用平板作为电脑的拓展屏,但是多数都是需要在电脑和平板上都装上服务器和客户端的软件才行,而且有些系统还没有对应的软件。 那有没有一种方法只需要在主机上运行一个软件,而平板上只需要扫个码就行呢? 答案是当然…...

HTTP和HTTPS有什么区别?如何实现网站的HTTPS?

细心的朋友会发现,我们在浏览网站时,有的网址以http开头,而有的网站却以https开头,那这两者之间有什么区别吗?http的网站如何能变成https呢?本文中科三方针对这个问题做下简单介绍。 什么是http&#xff1…...

Rockstar Games遭黑客攻击,《侠盗猎车手6》90个开发视频外泄

当地时间9月19日,视频游戏开发商Rockstar Games证实,其 热门游戏《侠盗猎车手6》(Grand Theft Auto)开发片段遭到黑客大规模窃取 ,这一泄露事件立即在游戏圈迅速传播。 据报道, 上周末黑客至少泄露了90个游…...

RabbitMQ-客户端源码之AMQPImpl+Method

AMQPImpl类包括AMQP接口(public class AMQImpl implements AMQP)主要囊括了AMQP协议中的通信帧的类别。 这里以Connection.Start帧做一个例子。 public static class Connection {public static final int INDEX 10;public static class Startextends…...

雅思经验(7)

我发现雅思阅读要命的不是难度,而是时间的把控。考试时间是总共一小时,但是要写三篇文章,之后总共40道题目,也就是说每篇文章平均是13.3道。但是他们很多人说,如果誊写答案需要花掉3、4分钟每篇,也就是说真…...

Ubuntu20.04 用 `hwclock` 或 `timedatectl` 设置RTC硬件时钟为本地时区

Ubuntu20.04用 hwclock 或 timedatectl 设置硬件时区为本地时区 可以用hwclock命令 sudo hwclock --localtime --systohc👆效果等同👇 , --localtime的简写是-l ; --systohc的简写是-w sudo hwclock -l -w也可以用timedatectl命令 👆效果等…...

大学物理·第15章【量子物理】

黑体 斯特藩玻耳兹曼定律 维恩定律 光电效应 在光照射下 ,电子从金属表面逸出的现象,叫光电效应. 逸出的电子,叫光电子 经典理论: 光电流值与入射光强成正比截止频率(红限)v0对某种金属来说,只有…...

2010-2019年290个地级市经济发展与城市绿化数据

2010-2019年290个地级市经济发展与城市绿化数据 1、时间:2010-2019年 2、来源:城市统计NJ,缺失情况与NJ一致 3、范围:290个地级市 4、指标: 综合经济:地区生产总值、人均地区生产总值、地区生产总值增…...

【CSS 布局】-多列布局

一、两列布局 两列布局&#xff1a;一列定宽(也有可能由子元素决定宽度)&#xff0c;一列自适应的布局。 创建一个父盒子&#xff0c;和子盒子 <div class"container clearfix"><div class"left ">定宽</div><div class"right…...

从C语言向C++过渡

文章目录前言1.命名空间1.域的概念2.命名空间的使用2.C输入&输出3.缺省参数1.概念2.分类3.注意事项4.函数重载5.引用1.概念2.使用注意事项3.引用使用场景4.指针和引用的区别6.内联函数7.auto关键字8.nullptr前言 C被成为带类的C,本文由C语言向C过度&#xff0c;将会初步介…...

Matter 研讨会回顾(第三期)|乐鑫 Matter 免开发方案与证书服务介绍

1 月 17 日&#xff0c;乐鑫举办了以“乐鑫 Matter 免开发方案与证书服务介绍”为主题的第三期 Matter 线上研讨会&#xff0c;介绍乐鑫开箱即用的 ESP-ZeroCode 模组及其免开发 Matter 方案&#xff0c;以及证书生成和预配置相关服务。欢迎观看研讨会的视频回放了解详情。&…...

函数栈帧的创建和销毁——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰来为大家介绍一个知识点——函数栈帧的创建和销毁。其实这个知识点&#xff0c;我们很早之前就要讲&#xff0c;但是因为我的一系列原因&#xff0c;才一直拖到了现在&#xff0c;那么&#xff0c;话不多说&#xff0c;让我们一起…...

腾讯云对象存储+企业网盘 打通数据链“最后一公里

对云厂商和企业用户来说&#xff0c;随着数据规模的快速增长&#xff0c;企业除了对存储功能和性能的要求不断增加&#xff0c;也越来越注重数据分发的效率。在传统数据分发的过程中&#xff0c;数据管理员往往需要先在存储桶下载对应的客户方案/交付资料&#xff0c;再使用微信…...

在浏览器输入url到发起http请求,这过程发生了什么

当用户输入url&#xff0c;操作系统会将输入事件传递到浏览器中&#xff0c;在这过程中&#xff0c;浏览器可能会做一些预处理&#xff0c;比如 Chrome 会根据历史统计来预估所输入字符对应的网站&#xff0c;例如输入goog&#xff0c;根据之前的历史发现 90% 的概率会访问「ww…...

PyTorch学习笔记:nn.ReLU——ReLU激活函数

PyTorch学习笔记&#xff1a;nn.ReLU——ReLU激活函数 torch.nn.ReLU(inplaceFalse)功能&#xff1a;逐元素应用ReLU函数对数据进行激活 函数方程&#xff1a; ReLU(x)(x)max⁡(0,x)ReLU(x)(x)^\max(0,x) ReLU(x)(x)max(0,x) 输入&#xff1a; inplace&#xff1a;是否改变输…...

同步线程

↵ 由于这节内容资料比较少&#xff0c;所以以下内容总结自Qt官方文献&#xff0c;在文章最后会给出相应链接。 线程的目的是允许并行运行&#xff0c;但有时线程必须停止等待其他线程。例如&#xff0c;如果两个线程尝试访问同一个变量&#xff0c;这样的话结果是未定义的。强…...

服务端返回内容跨域CORS之后,也在chrome/edge浏览器里显示出响应信息

由于浏览器的同源策略&#xff0c;服务端返回的内容跨域&#xff0c;且没有允许跨域CORS的请求头之后&#xff0c;浏览器无法显示出服务端返回的信息&#xff0c;不方便问题排查。比如&#xff1a;Access to XMLHttpRequest at http://localhost:6001/service-app/query/common…...

DHCP中继及配置

为什么需要DHCP Relay&#xff1f;产生背景解决方案DHCP Relay工作原理DHCP Relay配置实现产生背景 随着网络规模的扩大&#xff0c;网络中就会出现用户处于不同网段的情况。 这个时候客户A和客户B要请求IP地址时&#xff0c;首先会发送DHCP Discover广播包&#xff0c;这个广…...

中国社科院与美国杜兰大学金融管理硕士,让我们相遇在春暖花开时

在芸芸众生中&#xff0c;能拥有志同道合的朋友是一件多么幸运的事。人们常说&#xff1a;你是谁&#xff0c;就会遇见谁。走过半生才知道&#xff0c;看似命中注定的遇见谁、发生的事&#xff0c;其实都取决于自己。只有自己足够优秀&#xff0c;才能遇到更优秀的别人。在这个…...

MySQL---单表查询、多表查询

一、单表查询 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 v…...

3年自动化测试这水平?我还不如去招应届生

公司前段缺人&#xff0c;也面了不少测试&#xff0c;结果竟然没有一个合适的。一开始瞄准的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;提供的薪资在10-20k&#xff0c;面试的人很多&#xff0c;但平均水平很让人失望。看简历很多都是3年工作经验&#xff0c;但面试…...

5 个自定义 React Hooks 将改变你的代码

昨天完成我的每日文章&#xff08;是的&#xff0c;我每天都会发布一篇关于前端开发的新文章&#xff0c;所以如果你想要每天的代码丸&#xff0c;请务必关注 &#x1f609;&#xff09;&#xff0c;我去编码了一点......我开始为我正在构建的副项目编写一些自定义挂钩&#xf…...

Java学习笔记-03(API阶段)

前言 目前我们看到的是Java基础部分的一个新的部分API,这是个啥,又能做啥呢? 其实可以概括成一句话:帮助我们站在巨人的肩膀上,实现更加高效的开发,那么我们来一探究竟吧~ API API&#xff08;Application Programming Interface&#xff0c;应用程序接口&#xff09;是一些预…...

Django自定义模板标签的使用详解

目录 1.创建子应用&#xff1a;python manage.py startapp test01 2.进行相关的配置 3.在新建的test01文件下创建urls.py(此处名称可变但注意上图) 4.在test01文件下创建名称为templatetags的文件夹 5.templatetags文件下继续创建几个py文件如下图​编辑 6.views视图函数…...

洗地机怎么选?洗地机品牌排行榜

洗地机的出现不仅能高效的清洁地面还能节省我们做家务的时间&#xff0c;对于上班族、有宠物的家庭以及宝妈来说简直不要太方便;目前市面上的洗地机有分有线款和无线款&#xff0c;无线款会比有线款操作更加方便;洗地机怎么选&#xff0c;其实洗地机的清洁能力主要是看吸力大小…...

CSS的元素显示模式

&#x1f60a;博主页面&#xff1a;鱿年年 &#x1f449;博主推荐专栏&#xff1a;《WEB前端》&#x1f448; ​&#x1f493;博主格言&#xff1a;追风赶月莫停留&#xff0c;平芜尽处是春山❤️ 目录 前言 一、什么是元素显示模式 1.1块元素 1.2行内元素 1.3行内块元素…...

【MySQL Shell】8.9.1 在 InnoDB ClusterSet 中隔离集群

在发生紧急故障切换后&#xff0c;如果 ClusterSet 的各个部分之间存在事务集不同的风险&#xff0c;则必须保护集群不受写入流量或所有流量的影响。 如果发生网络分区&#xff0c;则有可能出现脑裂的情况&#xff0c;即实例失去同步&#xff0c;无法正确通信以定义同步状态。…...

Ubuntu20.04+cuda11.2+cudnn8.1+Anaconda3安装tensorflow-GPU环境,亲测可用

(1)安装nvidia显卡驱动注意Ubuntu20.04和Ubuntu16.04版本的安装方法不同,安装驱动前一定要更新软件列表和安装必要软件、依赖&#xff08;必须&#xff09;sudo apt-get update #更新软件列表sudo apt-get install gsudo apt-get install gccsudo apt-get install make查看GP…...

剑指Offer 第27天 JZ75 字符流中第一个不重复的字符

字符流中第一个不重复的字符_牛客题霸_牛客网 描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如&#xff0c;当从字符流中只读出前两个字符 "go" 时&#xff0c;第一个只出现一次的字符是 "g" 。当从该字符流中读出前六个字符 “google&…...

公司旅游视频网站模板/免费私人网站建设

在过去一年&#xff0c;越来越多的项目继续或者开始使用React和Redux开发&#xff0c;这是目前前端业内很普遍的一种前端项目解决方案&#xff0c;但是随着开发项目越来越多&#xff0c;越来越多样化时&#xff0c;个人又有了不同的感受和想法。是不是因为已经有了一个比较普遍…...

如何做可以微信转发的网站/wap网站html5

2019独角兽企业重金招聘Python工程师标准>>> 在前几篇中&#xff0c;我们搭建好了Go语言的开发环境&#xff0c;从今天开始就正式进入Go语言的编程学习了。 一、Go语言程序基本结构与外部包的导入 首先来看Go语言程序的基本结构&#xff1a; 以上就是最基本的结构&a…...

太原营销型网站建设/网络营销期末总结

http://www.jfox.info/bi-jiao-chang-jian-de-shu-ju-ku-sql-mian-shi-ti-yi-ji-da-an转载于:https://www.cnblogs.com/ydxblog/p/5753575.html...

餐饮门户网站 方案怎么做/网站排名怎么优化

上一篇讨论了链表的反转问题&#xff0c;这一篇讨论链表排序的问题 1. 排序两个有序链表 比较简单&#xff0c;属于归并排序&#xff0c;不再赘述 时间复杂度O(n)&#xff0c; 空间复杂度O(1) 1 ListNode *mergeList( ListNode *list1, ListNode *list2 ) {2 if(!list1 || …...

学校网站建设的申请/南昌企业网站建设

基于SSMMavenBootStrapMySQL的在线商城系统[实战视频]—304人已学习 课程介绍 本课程基于MavenSpringSpringMVCMyBatisMySQLBootStrap技术&#xff0c;使用IntelliJ IDEA开发工具。 主要是锻炼SSM技术的运用&#xff0c;通过项目实战&#xff0c;加强对框架技术的理解和运用…...

南宁电子商务网站建设/重庆网络推广外包

在 MyBatis 配置 xml 中配置拦截器插件 (dao层,配置在sqlSessionFactory里)helperDialectmysqlreasonabletrue3.配置serviceservice接口/*** 查询所有部门&#xff0c;带分页(用的pageHelper)* return*/PageInfo findAll(int page, int size);service实现类public PageInfo fin…...