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

身份认证技术

身份认证是对系统的用户进行有效性、真实性验证。
1.口令认证方式
使用口令认证方式,用户必须具有一个唯一的系统标识,并且保证口令在系统的使用和存储过程中是安全的,同时口令在传输过程中不能被窃取、替换。另外特别要注意的是在认证前,用户必须确认认证者的真实身份,以防止把口令发给冒充的认证者。
使用口令的单向身份认证过程一般是:请求认证者和认证者之间建立安全连接、并确认认证者身份等;然后请求认证者向认证者发送认证请求,认证请求中必须包括请求认证者的 ID 和口令;认证者接受 ID 和口令,在用户数据库中找出请求认证的 ID 和口令;查找是否有此用户并比较两口令是否相同;最后向请求认证者发回认证结果。如果请求认证者的 ID 在认证者的用户数据库中,并且请求认证者发送的口令与数据库中相应的口令相同,则允许请求认证者通过认证。
2.基于公钥签名的认证方式
公开密钥签名算法的身份认证方式,是通过请求认证者与认证者(对于双向身份认证而言,双方互为请求认证者和认证者)之间对于一个随机数做数字签名与验证数字签名来实现的。这种方式中认证双方的个人秘密信息不用在网络上传送,从而减少了口令等秘密信息泄漏的风险。
采用数字签名技术认证与口令认证方式有一个很大的不同:口令认证通常在正式数据交换开始之前进行。认证一旦通过,双方即建立安全通道进行通信,此后的通信被认为是安全的,不再进行身份认证;而数字签名认证在每一次的请求和响应中进行,即接收信息的一方先从接收到的信息中验证发送者的身份信息,验证通过后才对收到的信息进行相应处理。
使用公钥加密算法进行身份认证要求:请求认证者必须具有私钥实现数字签名的功能;认证者必须具有使用公钥验证数字签名的功能;认证者必须具有产生随机数的功能,而且随机数的质量必须达到一定要求。
使用公钥加密算法进行身份认证的方式,对用于数字签名的私钥由参与通信的认证者自己保密,而用于验证数字签名的公钥则需要采用可靠的方式进行安全分发。一般可以采用公钥数据库方式或者使用认证机构签发数字证书的方式(认证机构与数字证书的内容参见前文 PKI 部分)。
如果使用公钥数据库的方式管理公钥,则请求认证者 ID 就包含在认证请求中发给认证者,认证者使用该 ID 从公钥数据库中获得请求认证者的公钥。
如果使用认证机构签发数字证书的方式管理公钥,则请求认证者的数字证书包含在认证请求中发给认证者,认证者验证请求认证者的数字证书后,从数字证书中获取请求认证者的公钥。
3.持卡认证方式
持卡认证方式最早采用磁卡。磁卡中最重要的部分是磁道,不仅存储数据,而且还存储用户的身份信息。目前所用的卡是 IC 卡,与磁卡相比,它除了存储容量大之外,还可一卡多用,同时具有可靠性高,寿命长,读写机构简单可靠,造价便宜,维护方便,容易推广等诸多优点。正由于上述优点,使得 IC 卡在世界各地广泛使用。IC 卡上一般分为不加密的公共区、加密的数据区等,有些还有自己的操作系统和微处理器。IC 卡已被广泛应用于身份认证领域。
一般 IC 卡与用户的个人 PIN 一起使用。在脱机系统中,PIN 以加密的形式存在卡中,识别设备读出 IC 卡中的身份信息,然后将其中的 PIN 解密,与用户输入的 PIN 比较,以决定 IC 卡持有者是否合法。在联机系统中,PIN 可不存在 IC 卡上,而存在主机系统中,鉴别时,系统将用户输入的 PIN 与主机的 PIN 比较,而由此认证其身份的合法性。
4.基于人体生物特征的认证方式
这种方式是指通过计算机,利用人体固有的生理特征或行为特征进行个人身份鉴定。与传统的身份鉴别手段相比,基于生物特征的认证技术具有突出的优点:一是不会遗忘或丢失;二是防伪性能好,无法伪造;三是随时随地可用。能够用来鉴别身份的生物特征一般具有广泛性(每个人都应该具有这种特性)、唯一性(每个人拥有的特征应各不相同)、稳定性(所选择的特征应该不随时间变化而发生变化)和可采集性(所选择的特征应该便于采集、测量)。目前,可用于身份鉴别的生物特征主要有指纹、笔迹、脸像、红外温、视网膜、手形、掌纹等。
由于生物特征识别的设备比其他身份认证的设备要复杂,所以一般用在非常重要的机密场合,如军事等。生物特征识别主要采用模式识别技术。身份识别系统工作方式分为识别模式和鉴定模式,其性能指标主要有错误拒绝率和错误接受率等。在选择这种认证方式时需要对这些参数作认真的考虑。
5.动态口令技术(一次性口令技术)
一般情况下,所使用的计算机口令都是静态的,也就是说在一定的时间内是相对不变的,而且可重复使用。这种口令很容易被系统中的嗅探程序所劫持,而且很容易受到基于字典的暴力攻击。
针对这种静态口令认证方式的缺陷,人们提出了利用散列函数产生一次性口令的方法,即用户每次登录系统时使用的口令都是变化的。一次性口令是动态变化的密码,其变化来源于产生密码的运算因子。一次性口令的产生因子一般都采用双运算因子:一是用户的私钥,它代表用户身份的识别码,是固定不变的。二是变动因子,正是变动因子的不断变化,才能够产生动态的一次性口令。
动态口令技术认证方式中要用到动态口令密码卡,这是一种便于携带的智能化硬件产品。这种密码卡内置的构件和程序能通过密码卡内的密钥加上其他因子动态地计算出新的口令。
当密码卡持有者将这个口令输入计算机时,系统中的认证服务器会根据相同的算法和动态因子计算出对应于该密码卡的认证口令,并把这个口令与密码卡产生的口令比对,进行身份认证。
6.PPP 中的认证协议
点到点协议(Point-to-Point Protocol,PPP)提供了一种在点到点链路上封装网络层协议信息的标准方法。PPP 也定义了可扩展的链路控制协议。链路控制协议使用验证协议磋商机制,在链路层上传输网络层协议前验证链路的对端。
PPP 包含如下几个部分:在串行链路上封装数据报的方法;建立、配置和测试数据链路连接的链路控制协议(Link Control Protocol,LCP);建立和配置不同网络层协议的一组网络控制协议(Network Control Protocol,NCP)。
PPP 协议定义了两种验证协议:密码验证协议(Password Authentication Protocol,PAP)和挑战—握手验证协议(Challenge-Handshake Authentication Protocol,CHAP),此外还有扩展认证协议(Extensible Authentication Protocol,EAP)。
一个典型的 PPP 链路建立过程分为三个阶段:创建阶段、认证阶段和网络层协商阶段。
(1)创建阶段。在这个阶段,将对基本的通信方式进行选择。链路两端设备通过 LCP 向对方发送配置信息,建立链路。在链路创建阶段,只是对验证协议进行选择,具体的用户验证过程在认证阶段实现。
(2)认证阶段。在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全的验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。认证成功,则转到网络层协商阶段。如果认证失败,则链路终止。
(3)网络层协商阶段。认证阶段完成之后,PPP 将调用在链路创建阶段选定的各种 NCP 协商高层协议问题,例如,在该阶段 IP 控制协议可以向拨入用户分配动态地址。这样,经过三个阶段以后,一条完整的 PPP 链路就建立起来了。
最常用的认证协议有 PAP 和 CHAP,此外还有 EAP。
(1)PAP。PAP 是一种简单的明文验证方式。网络接入服务器要求用户提供用户名和口令,PAP 以明文方式返回用户信息,并且对回送或者重复验证和错误攻击没有保护措施。很明显,这种验证方式的安全性较差,第三方可以很容易地获取被传送的用户名和口令,并利用这些信息与网络接入服务器建立连接获取网络接入服务器提供的资源。所以,一旦用户密码被第三方窃取,PAP 无法提供避免受到第三方攻击的保障措施。
(2)CHAP。CHAP 是一种加密的验证方式,能够避免建立连接时传送用户的明文密码。网络接入服务器向远程用户发送一个挑战口令,其中包括会话 ID 和一个任意生成的挑战字串。远程客户端使用 MD5 散列算法返回用户名和加密的挑战口令、会话 ID 及用户口令。
CHAP 对 PAP 进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以散列算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的散列操作,并将结果与用户返回的口令进行对照。
CHAP 为每一次验证任意生成一个挑战字串来防止受到攻击。在整个连接过程中, CHAP 将不定时地随机向客户端重复发送挑战口令,从而避免非法入侵者冒充远程客户进行攻击。
HAP 验证方式具有如下的优点:
① 通过可变的挑战口令和随机地、重复地发挑战口令,CHAP 防止了重放攻击。
② 该认证方法依赖于认证者和对端共享的密钥,密钥不是通过链路发送的。
③ 虽然该认证是单向的,但是在两个方向都进行 CHAP协商,同一密钥可以很容易地实现交互认证。
④ 由于 CHAP 可以用在许多不同的系统认证中,因此可以用用户名作为索引,以便在一张大型密钥表中查找正确的密钥。这样也可以在一个系统中支持多个用户名—密钥对,在会话中随时改变密钥。
CHAP 在设计上的要求:
① CHAP 算法要求密钥长度必须至少是1 字节,至少应该不易让人猜出,密钥最好至少是散列算法所选用的散列码的长度,如此可以保证密钥不易受到穷举搜索攻击。所选用的散列算法,必须保证从已知挑战口令和响应值来确定密钥在计算上是不可行的。
② 每一个挑战口令应该是唯一的,否则在同一密钥下,重复挑战口令将使攻击者能够用以前截获的响应值应答挑战口令。由于希望同一密钥可以用于地理上分散的不同服务器的认证,因此挑战口令应该做到全局临时唯一。
③ 每一个挑战口令也应该是不可预计的,否则攻击者可以欺骗对方,让对方响应一个预计的挑战口令,然后用该响应冒充对端欺骗认证者。虽然 CHAP 不能防止实时地主动搭线窃听攻击,但是只要能产生不可预计的挑战口令就可以防范大多数的主动攻击。
(3)EAP。EAP 是一个用于 PPP 认证的通用协议,可以支持多种认证方法。EAP 并不在链路控制阶段而是在认证阶段指定认证方法,这样认证方就可以在得到更多的信息以后再决定使用什么认证方法。这种机制还允许 PPP 认证方简单地把收到的认证信息传给后方的认证服务器,由后方的认证服务器来真正实现各种认证方法。
EAP 的认证过程是:在链路阶段完成以后,认证方向对端发送一个或多个请求报文。在请求报文中有一个类型字用来指明认证方所请求的信息类型,例如,可以是对端的 ID、 MD5 的挑战口令、一次性密码及通用密码卡等。MD5 的挑战口令对应于 CHAP 认证协议的挑战口令。典型情况下,认证方首先发送一个 ID 请求报文随后再发送其他的请求报文。对端对每一个请求报文响应一个应答报文。和请求报文一样,应答报文中也包含一个类型字段,对应于所回应的请求报文中的类型字段。认证方再通过发送一个成功或者失败的报文来结束认证过程。
EAP 具有突出的优点:它可以支持多种认证机制,而不需要在建立连接阶段指定;某些设备,例如,网络接入服务器,不需要关心每一个请求信息的真正含义,而是作为一个代理把认证报文直接传给后端的认证服务器,设备只需关心认证结果是成功还是失败,然后结束认证阶段。
当然 EAP 也有一些缺点:它需要在 LCP 中增加一个新的认证协议,这样现有的 PPP 要想使用 EAP 就必须进行修改。同时,使用 EAP 也和现有的在 LCP 协商阶段指定认证方法的模型不一致。
7.RADIUS 协议
RADIUS(Remote AuthenticationDial-in User Service)协议是由朗讯公司提出的客户/ 服务器方式的安全认证协议,它能在拨号网络中提供注册、验证功能,现已成为 Internet 的正式协议标准,是当前流行的 AAA(Authentication、Authorization、Accountion)协议。
RADIUS 协议可以把拨号和认证这两种功能放在两个分离的服务器——网络接入服务器(NAS)和后台认证服务器(RADIUS 服务器)上。在 RADIUS 服务器上存放有用户名和它们相应的认证信息的一个大数据库,来提供认证用户名和密码及向用户发送配置服务的详细信息等。
RADIUS 具有非常突出的特点:
① RADIUS 协议使用 UDP 进行传输,它使用 1812 号端口进行认证,以及认证通过后对用户授权,使用 1813 号端口对用户计费。
② 支持多种认证方法,RADIUS 能支持 PAP、CHAP、UNIX Login 及其他认证方法;
③ 支持认证转接(AuthenticationForwarding),一个 RADIUS 服务器可以作为另一个
RADIUS 服务器的客户端向它要求认证,这叫作认证转接。
④ 协议扩展性好,通过协议中变长的属性串能够进一步扩展 RADIUS 协议。
⑤ 认证信息都加密传输,安全性高。RADIUS服务器和接入服务器之间传递的认证信息用一个事先设置的口令进行加密,防止敏感信息泄露,因此安全性高。
RADIUS 的认证过程如下:
① 接入服务器从用户那里获取用户名和口令(PAP口令或 CHAP 口令),把它同用户的一些其他信息(如主叫号码、接入号码、占用的端口等)组成 RADIUS 认证请求数据包发送给 RADIUS 服务器,请求认证。
② RADIUS 服务器收到认证请求包后,首先查看接入服务器是否已经登记,然后根据请求中用户名、口令等信息验证用户是否合法。如果用户非法,则向接入服务器发送访问拒绝包;如果用户合法,那么 RADIUS 服务器会将用户的配置信息,例如,用户类型、IP 地址、连接协议、端口信息、ACL 授权等信息,一起组成访问接受包发送回接入服务器。
③ 接入服务器收到访问接受/拒绝包时,首先要判断包中的签名是否正确,如果不正确将认为收到了一个非法的包。验证签名的正确性后,如果收到了访问接受包,那么接入服务器会接受用户的上网请求,并用收到的授权信息对用户进行配置、授权,限制用户对资源的访问;如果收到的是访问拒绝包则拒绝该用户的上网请求。
④ 当用户成功登录后,接入服务器会向 RADIUS服务器发送一个连接开始的记账信息包,其中包括用户使用的连接种类、协议和其他自定义的用户记账的信息;当用户断开连接后,接入服务器再向 RADIUS 服务器发送一个连接结束的记账信息包,通知 RADIUS 服务器停止对该用户记账。RADIUS 服务器根据收到的记账信息包按照该用户的设置为用户记账。

相关文章:

身份认证技术

身份认证是对系统的用户进行有效性、真实性验证。 1.口令认证方式 使用口令认证方式,用户必须具有一个唯一的系统标识,并且保证口令在系统的使用和存储过程中是安全的,同时口令在传输过程中不能被窃取、替换。另外特别要注意的是在…...

Centos7、Mysql8.0 load_file函数返回为空的终极解决方法--暨selinux的深入理解

零、问题背景 最近想换房,为了方便自己对比感兴趣的房子,因此决定将目标房源的基本信息放在表里,特别是要一目了然的看到众多房子的各种图纸和照片,因此决定要在Mysql8.0.34数据库中以二进制形式保存图片(抛开合理性和…...

基于Spring Boot的水产养殖管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot的水产养殖管理系统,jav…...

LCR 090. 打家劫舍 II(leetcode)动态规划

文章目录 前言一、题目分析二、算法原理1.状态表示2.状态转移方程3.初始化4.填表顺序5.返回值是什么 三、代码实现总结 前言 在本文章中,我们将要详细介绍一下LeetcodeLCR 090. 打家劫舍 II。采用动态规划解决,这是一道经典的多状态dp问题 一、题目分析…...

【小沐学Python】Python实现语音识别(Whisper)

文章目录 1、简介1.1 whisper简介1.2 whisper模型 2、安装2.1 whisper2.2 pytorch2.3 ffmpeg 3、测试3.1 命令测试3.2 代码测试:识别声音文件3.3 代码测试:实时录音识别 结语 1、简介 https://github.com/openai/whisper 1.1 whisper简介 Whisper 是…...

Nginx负载均衡实战

🎵负载均衡组件 ngx_http_upstream_module https://nginx.org/en/docs/http/ngx_http_upstream_module.html upstream模块允许Nginx定义一组或多组节点服务器组,使用时可以通过多种方式去定义服务器组 样例: upstream backend {server back…...

Redis skiplist源码解析(支持范围查询)

跳表是一个多层的有序链表,在跳表中进行查询操作时,查询代码可以从最高层开始查询。层数越高,结点数越少,同时高层结点的跨度会比较大。因此,在高层查询结点时,查询一个结点可能就已经查到了链表的中间位置…...

MVSNeRF:多视图立体视觉的快速推广辐射场重建(2021年)

MVSNeRF:多视图立体视觉的快速推广辐射场重建(2021年) 摘要1 引言2 相关工作3 MVSNeRF实现方法3.1 构建代价体3.2 辐射场的重建3.3 体渲染和端到端训练 3.4 优化神经编码体 Anpei Chen and Zexiang Xu and Fuqiang Zhao et al. MVSNeRF: Fast…...

华为OD机试真题-CPU算力分配-2023年OD统一考试(C卷)

题目描述: 现有两组服务器A和B,每组有多个算力不同的CPU,其中A[i]是A组第i个CPU的运算能力,B[i]是B组第i个CPU的运算能力。一组服务器的总算力是各CPU的算力之和。为了让两组服务器的算力相等,允许从每组各选出一个CPU进行一次交换,求两组服务器中,用于交换的CPU的算力,…...

校验数据是否重叠(各种操作符>,<,>=,<=,or,and)

最近接到一个需求,其中部分功能涉及到数据的重叠校验,并且录入的数据需要包含各种操作符。如果只通过java代码来查询并进行循环判断的话,判断情况会很复杂,幸好有同事的帮忙提供了一个用sql查询重叠部分的方法,现在分享…...

大一C语言作业 12.8

1.C 对一维数组初始化时,如果全部元素都赋了初值,可以省略数组长度。 这里没有指定数组长度,编译器会根据初始化列表的元素个数来确定数组长度。 2.C 在C语言中,字符数组是不能用赋值运算符直接赋值的。 3.C 在二维数组a中&#x…...

ELasticsearch:什么是语义搜索?

语义搜索定义 语义搜索是一种解释单词和短语含义的搜索引擎技术。 语义搜索的结果将返回与查询含义匹配的内容,而不是与查询中的单词字面匹配的内容。 语义搜索是一组搜索引擎功能,其中包括根据搜索者的意图及其搜索上下文理解单词。 此类搜索旨在通过…...

ooTD I 女儿是自己的,尽情打扮尽情可爱

分享女宝的时尚穿搭 奶乎乎的黄色也太好看了 超足充绒量+优质面料 柔软蓬松上身体验感超赞 怎么穿都好看系列 轻轻松松打造时尚造型!!...

第62天:django学习(十一)

cookie和session 发展史 一开始,只有一个页面,没有登录功能,大家看到东西都一样。 时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息,于是cookie诞生了。 cookie: - 存储形式:k:v键值对…...

Rust测试字符串的移动,Move

代码创建了一个结构体,结构体有test1 字符串,还有指向字符串的指针。一共创建了两个。 然后我们使用swap 函数 交换两个结构体内存的内容。 最后如上图。相同的地址,变成了另外结构体的内容。注意看指针部分,还是指向原来的地址…...

vue+electron问题汇总

1. Vue_Bug Failed to fetch extension, trying 4 more times 描述:项目启动时报错 解决:注释图片中内容 2. Module not found: Error: Can’t resolve ‘fs’ in 描述:项目启动报错 解决:vue.config.js中添加图中数据 3.导入…...

Linux中的网络时间服务器

本章主要介绍网络时间的服务器 使用chrony配置时间服务器配置chrony客户端服务器同步时间 1.1 时间同步的重要性 一些服务对时间要求非常严格,例如如图所示的由三台服务器搭建的ceph集群 这三台服务器的时间必须保持一致,如果不一致,就会显…...

fastadmin打印页面

如下图选中订单号进行打印 html中增加代码 <div id"toolbar" class"toolbar"><a href"javascript:;" class"btn btn-primary btn-refresh" title"{:__(Refresh)}" ><i class"fa fa-refresh">&l…...

Java 将word转为PDF的三种方式和处理在服务器上下载后乱码的格式

我这边是因为业务需要将之前导出的word文档转换为PDF文件&#xff0c;然后页面预览下载这样的情况。之前导出word文档又不是我做的&#xff0c;所以为了不影响业务&#xff0c;只是将最后在输出流时转换成了PDF&#xff0c;当时本地调用没什么问题&#xff0c;一切正常&#xf…...

C\C++ 获取最值

C C 语言的不同类型的最值可以在 limits.h 头文件里找到定义 #include <limits.h>int main() {printf("%d", INT_MAX); // 整数最大值printf("%d", INT_MIN); // 整数最小值 } C C 有模板&#xff0c;可以通过替换下面的 int 和 double&#xff…...

机器学习之无监督学习:九大聚类算法

今天&#xff0c;和大家分享一下机器学习之无监督学习中的常见的聚类方法。 今天&#xff0c;和大家分享一下机器学习之无监督学习中的常见的聚类方法。 在无监督学习中&#xff0c;我们的数据并不带有任何标签&#xff0c;因此在无监督学习中要做的就是将这一系列无标签的数…...

Linux高级管理-搭建网站服务

在Ihternet 网络环境中&#xff0c;Web 服务无疑是最为流行的应用系统。有了Web站点&#xff0c;企业可以充分 展示自己的产品&#xff0c;宣传企业形象。Web站点还为企业提供了与客户交流、电子商务交易平台等丰富 的网络应用。部署与维护Web 服务是运维工程师必须掌握的一个技…...

Windows 系统,TortoiseSVN 无法修改 Log 信息解决方法

使用SVN提交版本信息时&#xff0c;注释内容写的不全。通过右键TortoiseSVN的Show log看到提交的的注释&#xff0c;右键看到Edit log message的选项&#xff0c;然而提交后却给出错误提示&#xff1a; Repository has not been enabled to accept revision propchanges; ask …...

编译 Android gradle-4.6-all.zip 报错问题记录

编译 Android gradle-4.6-all.zip 报错问题记录 方法一&#xff1a;替换资源&#xff1a;方法二&#xff1a;修改源方法三&#xff1a;修改版本 编译时候无法下载 gradle-4.6-all Downloading https://services.gradle.org/distributions/gradle-4.6-all.zip 方法一&#xf…...

Linux系统调试课:Valgrind 内存调试

文章目录 一、为什么要学会Valgrind二、什么是内存泄露三、Valgrind的移植四、Valgrind相关参数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢Valgrind 是一个开源的内存调试和性能分析工具,用于帮助开发者找出程序中的内存错误,如内存泄漏、使用未初始化的内存、非…...

python主流开发工具排名,python开发工具有哪些

本篇文章给大家谈谈python的开发工具软件有哪些&#xff0c;以及python主流开发工具排名&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 python中用到哪些软件 一、Python代码编辑器1、sublime Textsublime Text是一款非常流行的代码编辑器&#xff0c;支持P…...

Spring Boot Async:从入门到精通,原理详解与最佳实践

Spring Boot 的异步功能&#xff08;Async&#xff09;允许我们将某些任务异步执行&#xff0c;而不会阻塞主线程。这对于处理耗时的操作非常有用&#xff0c;如发送电子邮件、生成报表、调用外部 API 等。通过异步处理&#xff0c;我们可以释放主线程&#xff0c;让它继续处理…...

oracle 19c创建db_link名称带.com域名问题处理

文章目录 一、修改PDB的global_name二、重启数据库实例三、修改domain后重试 一、修改PDB的global_name SYSorcl1>sho pdbsCON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ----------2 PDB$SEED …...

银行卡二要素API的应用案例:从在线购物到金融投资

引言 随着互联网技术的不断发展&#xff0c;人们的金融需求也在不断增加。随之而来的是各种新型金融服务的涌现&#xff0c;让用户的金融体验更加便利快捷。其中&#xff0c;银行卡二要素API的应用&#xff0c;则为用户的金融体验和安全性提供了极大的保障。 银行卡二要素API…...

MySQL 忘记root密码后重置密码操作

在忘记 MySQL 密码的情况下&#xff0c;可以通过 --skip-grant-tables 关闭服务器的认证&#xff0c;然后重置 root 的密码&#xff0c;具体操作步骤如下。 步骤 1)&#xff1a;关闭正在运行的 MySQL 服务。打开 cmd 进入 MySQL 的 bin 目录。 步骤 2)&#xff1a;输入mysqld -…...

开源电子合同签署平台小程序源码/电子文件签字+在线合同签署系统源码/电子合同小程序源码

源码简介&#xff1a; 开源电子合同签署平台小程序源码&#xff0c;它是电子文件签字在线合同签署系统源码/电子合同小程序源码 目前商业端和开源端一致&#xff0c;免费开源状态&#xff01; 聚合市场上各类电子合同解决方案商&#xff0c;你无需一个一个的对接电子合同厂商…...

J.408之数据结构

J-408之数据结构_北京信息科技大学第十五届程序设计竞赛&#xff08;同步赛&#xff09; (nowcoder.com) 思维好题&#xff0c;直接用两个set存没出现的数字就好了 // Problem: 408之数据结构 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/68572/J // Me…...

前端食堂技术周刊第 107 期:技术播客节、Deno Cron、FEDAY、XState v5、Electron 2023 生态系统回顾

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;烤椰拿铁 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来看下…...

三防平板|手持终端PDA|8寸/10寸工业三防平板电脑主板方案定制

近年来&#xff0c;随着科技的快速发展&#xff0c;三防平板成为了各行各业中不可或缺的工具。三防平板采用IP67级别的防护设计&#xff0c;通过了多项测试标准&#xff0c;如国标和美标&#xff0c;具备防水、防摔、防尘、防撞、防震、防跌落以及防盐雾等多重防护功能。因此&a…...

【C语言】动态内存管理(C语言的难点与精华,数据结构的前置知识,你真的掌握了吗?)

文章目录 引言一、为什么要动态内存分配二、动态内存分配的相关函数2.1 malloc2.2 free2.3 calloc2.4 realloc 三、常见的动态内存的错误3.1 对NULL指针的解引用3.2 对动态内存越界访问3.3 对非动态内存释放3.4 对动态内存部分释放3.5 对动态内存多次释放3.6 未对动态内存释放&…...

最长子序列问题(LCS)--动态规划解法

题目描述&#xff1a; 如果Z既是X的子序列&#xff0c;又是Y的子序列&#xff0c;则称Z为X和Y的公共子序列。 如果给定X、Y&#xff0c;求出Y及其长度。 示例&#xff1a; 输入 ABCPDSFJGODIHJOFDIUSHGD OSDIHGKODGHBLKSJBHKAGHI 输出 SDIHODSHG 9 分析&#xff1a; c…...

实时流式计算 kafkaStream

文章目录 实时流式计算Kafka StreamKafka Streams 的关键概念KStreamKafka Stream入门案例编写SpringBoot 集成 Kafka Stream 实时流式计算 一般流式计算会与批量计算相比较 流式计算就相当于上图的右侧扶梯&#xff0c;是可以源源不断的产生数据&#xff0c;源源不断的接收数…...

西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元件参数过程,越详细越好。用公式输入法完成相关公式内容,不得贴手写图片。(注意:从抽象公式直接得出结果,不得分,页数可根据内容调整) 预习计算内容根据运放的非线…...

Ubuntu与Windows通讯传输文件(FTP服务器版)(没用的方法,无法施行)

本文介绍再Windows主机上建立FTP服务器&#xff0c;并且在Ubuntu虚拟机上面访问Windows上FTP服务器的方法 只要按照上图配置就可以了 第二部&#xff1a;打开IIS管理控制台 右击网站&#xff0c;新建FTP站点。需要注意的一点是在填写IP地址的时候&#xff0c;只需要填写Window…...

2024年AI视频识别技术的6大发展趋势预测

随着人工智能技术的快速发展&#xff0c;AI视频识别技术也将会得到进一步的发展和应用。2023年已经进入尾声&#xff0c;2024年即将来临&#xff0c;那么AI视频识别技术又将迎来怎样的发展趋势&#xff1f;本文将对2023年的AI视频技术做一个简单的盘点并对2024年的发展趋势进行…...

一篇文章了解JDK的前世今生

我们每天都在开发Java,每天都在使用JDK,那么我们了解JDK的发展史吗,这篇文章将带你深入了解JDK的发展史。 JDK(Java Development Kit)是Java开发者工具包,是用于编写Java程序和运行Java程序的软件开发工具集。自从1995年Java语言首次发布以来,JDK已经经历了数十年的发展…...

Redisson出现问题总结

org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required… channel: 出现此问题的原因为没有redis权限。解决方案在setAddress()后面加上setPassword()方法。 config.useSingleServer().setAddress("redis://localhost:6379").setPasswo…...

领域驱动架构(DDD)建模

一、背景 常见的软件开发方式是拿到产品需求后&#xff0c;直接考虑数据库中表应该如何设计&#xff0c;这种方式已经将设计与业务需求脱节&#xff0c;而更多的是直接考虑应该如何实现了&#xff0c;这有点本末倒置。而DDD是从领域(问题域)为出发点进行的设计方法。 领域驱动…...

PostgreSQL从小白到高手教程 - 第38讲:数据库备份

PostgreSQL从小白到专家&#xff0c;是从入门逐渐能力提升的一个系列教程&#xff0c;内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容&#xff0c;希望对热爱PG、学习PG的同学们有帮助&#xff0c;欢迎持续关注CUUG PG技术大讲堂。 第38讲&#…...

OpenGL ES eglCreatePbufferSurface() 和 eglCreateWindowSurface() 的对比和使用

一、介绍 相同点&#xff1a; eglCreatePbufferSurface 和 eglCreateWindowSurface 都是 OpenGL ES 中用于创建不同类型的EGL表面的函数&#xff0c;以便在OpenGL ES中进行渲染。 不同点&#xff1a; 选择使用哪种表面类型取决于你的需求。如果你只是需要在内存中进行离屏渲…...

python之马尔科夫链(Markov Chain)

马尔可夫链&#xff08;Markov Chain&#xff09;是一种随机过程&#xff0c;具有“马尔可夫性质”&#xff0c;即在给定当前状态的条件下&#xff0c;未来状态的概率分布仅依赖于当前状态&#xff0c;而与过去状态无关。马尔可夫链在很多领域都有广泛的应用&#xff0c;包括蒙…...

数据库管理-第123期 Oracle相关两个参数(202301205)

数据库管理-第123期 Oracle相关两个参数&#xff08;202301205&#xff09; 最近在群聊中看到俩和Oracle数据库相关的俩参数&#xff0c;一个是Oracle数据库本身的&#xff0c;一个是来自于Weblogic的&#xff0c;挺有趣的&#xff0c;本期研究一下。&#xff08;本期涉及参数…...

掌握vue中国际化使用及配置

文章目录 &#x1f341;i18n组件安装&#x1f341;项目中配置 vue-i18n&#x1f341;编写语言包&#x1f341;国际化的使用 随着互联网的普及和全球化的发展&#xff0c;开发国际化的应用程序已经成为一种趋势。因此&#xff0c;将 VUE 应用程序国际化是非常有必要的。 以下是…...

Ubuntu编译文件安装SNMP服务

net-snmp源码下载 http://www.net-snmp.org/download.html 编译步骤 指定参数编译 ./configure --prefix/root/snmpd --with-default-snmp-version"2" --with-logfile"/var/log/snmpd.log" --with-persistent-directory"/var/net-snmp" --wi…...

3D Web可视化平台助力Aras开发PLM系统:提供数据访问、可视化和发布功能

HOOPS中文网慧都科技是HOOPS全套产品中国地区指定授权经销商&#xff0c;提供3D软件开发工具HOOPS售卖、试用、中文试用指导服务、中文技术支持。http://techsoft3d.evget.com/ Aras是一个面向数字化工业应用的开放性平台&#xff0c;帮助世界领先的复杂互联产品制造商转变其产…...