长度扩展攻击

一、 简介
长度扩展攻击(length extension attack),是指针对某些允许包含额外信息的 加密散列函数的攻击手段。对于满足以下条件的散列函数,都可以作为攻击对象:
① 加密前将待加密的明文按一定规则填充到固定长度(例如512或1024比特)的倍数;
② 按照该固定长度,将明文分块加密,并用前一个块的加密结果,作为下一块加密的初始向量

满足上述要求的散列函数称为Merkle–Damgård散列函数(Merkle–Damgård hash function),下列散列函数都属于Merkle–Damgård散列函数:
MD4
MD5(本题要用到)
RIPEMD-160
SHA-0
SHA-1
SHA-256
SHA-512
WHIRLPOOL

对于H(salt+data)形式的加密,在以下条件满足的情况下,攻击者可以通过该方法获取H(salt+一定规则构造的data):
① 知道密文的加密算法且该算法满足Merkle–Damgård散列函数特征;
② 不知道salt,但知道salt的长度,并可控制data的值;
③ 可以得到一个H(salt+data)的值。

二、攻击方法详解

下面以MD5算法为例,讲述该攻击方式如何进行攻击。
MD5的算法步骤:
步骤1:
我们是对一个字符串进行MD5加密,所以我们先从字符串的处理开始。首先我们要知道一个字符的长度是8位(bit),即一个字节的长度。现在我们要做的就是将一个字符串Str1分割成每512位为一个分组,形如N*512+R最后多出来的不足512位的R部分先填充一个1,再接无数个0,直到补足512位。这里要注意,R为0时也要补位,这时候补512位,最高位1,形如1000…00;如果R超出448,除了要补满这个分组外,还要再补上一个512位的分组(因为超过448位则不能留64位出来存放字符串的原长)。
字符串分块保存:一个512位的字符串分组要分成16个32位的子分组,在每个32位中,以字节为单位通过小端规则存入一个32位的变量中,可以考虑用int类型的变量(一个int变量32位),也可以考虑用unsigned int,这样之后涉及的循环移位就不用考虑符号位了,这里还是以int为例。因为一个字符就是一个字节(8位),所以一个int类型变量能存放4个字符,假设一个字符串abcd,那么存在一个int类型变量中就是dcba因此这里我们将字符串每4个字符分成一块,每一个块都以小端规则存放在一个int类型的变量中。
补充好后的Str2长度为(N+1)*512位(如果R超出448,则是(N+2)512)此时最低的64位预留,用来存放之前str1的长度length(长度为字符个数8 bit)的值,如果这个length值的二进制位数大于64位,则只保留最低的64位。将这个64位的length放入之前填充好的str2的最后64位。又要注意了:将length的64位分成2个32位,相当于2个字(1个字32位),再将这个2个字用类似小端规则排列,分别填入预留的64位假设64位分成AB(A,B分别表示32位的二进制数,A是高位,B是低位),按小端规则排列后就是BA,将形如BA的64位按B(高位)到A(低位)的顺序填入str2预留的64位,而对A,B内部显示的每个字节则不用做处理。假设长度 0x12,则按A,B两个字来补位可以得:A=0x0000 0000,B=0x0000 0012。

假设一个字符串abcde,一共5个字符,长度length 为 5* 8 = 40 = 0x28。512位转化成十六进制就是64位。原字符串十六进制表示:61 62 63 64 65 00 00…00。完成补位后共512位,只有1个分组,形如: 61 62 63 64 65 80 00… 00(“80”的二进制是1000 0000,即之前的先补一个1,再补很多0的做法)。一个int M[16]的数组就够存了,即
M[0] = 64 63 62 61

M[1] = 00 00 80 65

M[2] = 0,

M[3] = 0

M[14] = 00 00 00 28,

M[15] = 0
M[0]~M[15]设好之后,在内存中就是这样存的61 62 63 64 65 80 00…00(注意这里我们用MD5处理字符串时都考虑内存中的数据的排列顺序,得出的MD5也是需要按内存中的数据输出,所以经常要用小端规则转换)
步骤2
MD5有四个32位的被称作链接变量的整数参数,我们进行如下设置:

A=0x67452301,

B=0xefcdab89,

C=0x98badcfe,

D=0x10325476。

数据这样设置之后,存在内存中就按小端规则排列:01 23 45 67 89 ab cd ef …32 10

再声明四个中间变量a,b,c,d,赋值:a = A, b = B, c = C, d = D。
接着再设置四个非线性函数:

F(X,Y,Z) =(X&Y)|((~X)&Z)

G(X,Y,Z) =(X&Z)|(Y&(~Z))

H(X,Y,Z) =XYZ

I(X,Y,Z)=Y^(X|(~Z))

(&是与,|是或,~是非,^是异或)

这四个函数的说明:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。

假设M[j]表示消息的第j个子分组(从0到15),<<<s表示循环左移s,常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。(4294967296等于2的32次方)
FF(a, b, c, d, M[j], s, ti)表示 a = b + ((a + F(b, c, d) + Mj + ti) <<< s)

GG(a, b, c, d, M[j], s, ti)表示 a = b + ((a + G(b, c, d) + Mj + ti) <<< s)

HH(a, b, c, d, M[j], s, ti)表示 a = b + ((a + H(b, c, d) + Mj + ti) <<< s)

II(a, b, c, d, M[j], s, ti)表示 a = b + ((a + I(b, c, d) + Mj + ti) <<< s)

步骤3
接下来就是要进行一个MD5算法的主要循环了,这个循环的循环次数为512位分组的个数(即之前提到的N+1或者N+2)

a = A; b = B; c = C; d = D;//传说中的对M[j]的第一轮循环FF(a,b,c,d,M[0],7,0xd76aa478);FF(d,a,b,c,M[1],12,0xe8c7b756);FF(c,d,a,b,M[2],17,0x242070db);FF(b,c,d,a,M[3],22,0xc1bdceee);FF(a,b,c,d,M[4],7,0xf57c0faf);FF(d,a,b,c,M[5],12,0x4787c62a);FF(c,d,a,b,M[6],17,0xa8304613);FF(b,c,d,a,M[7],22,0xfd469501) ;FF(a,b,c,d,M[8],7,0x698098d8) ;FF(d,a,b,c,M[9],12,0x8b44f7af) ;FF(c,d,a,b,M[10],17,0xffff5bb1) ;FF(b,c,d,a,M[11],22,0x895cd7be) ;FF(a,b,c,d,M[12],7,0x6b901122) ;FF(d,a,b,c,M[13],12,0xfd987193) ;FF(c,d,a,b,M[14],17,0xa679438e) ;FF(b,c,d,a,M[15],22,0x49b40821);//传说中对M[j]的第二轮循环GG(a,b,c,d,M[1],5,0xf61e2562);GG(d,a,b,c,M[6],9,0xc040b340);GG(c,d,a,b,M[11],14,0x265e5a51);GG(b,c,d,a,M[0],20,0xe9b6c7aa) ;GG(a,b,c,d,M[5],5,0xd62f105d) ;GG(d,a,b,c,M[10],9,0x02441453) ;GG(c,d,a,b,M[15],14,0xd8a1e681);GG(b,c,d,a,M[4],20,0xe7d3fbc8) ;GG(a,b,c,d,M[9],5,0x21e1cde6) ;GG(d,a,b,c,M[14],9,0xc33707d6) ;GG(c,d,a,b,M[3],14,0xf4d50d87) ;GG(b,c,d,a,M[8],20,0x455a14ed);GG(a,b,c,d,M[13],5,0xa9e3e905);GG(d,a,b,c,M[2],9,0xfcefa3f8) ;GG(c,d,a,b,M[7],14,0x676f02d9) ;GG(b,c,d,a,M[12],20,0x8d2a4c8a);//传说中对M[j]的第三轮循环HH(a,b,c,d,M[5],4,0xfffa3942);HH(d,a,b,c,M[8],11,0x8771f681);HH(c,d,a,b,M[11],16,0x6d9d6122);HH(b,c,d,a,M[14],23,0xfde5380c) ;HH(a,b,c,d,M[1],4,0xa4beea44) ;HH(d,a,b,c,M[4],11,0x4bdecfa9) ;HH(c,d,a,b,M[7],16,0xf6bb4b60) ;HH(b,c,d,a,M[10],23,0xbebfbc70);HH(a,b,c,d,M[13],4,0x289b7ec6);HH(d,a,b,c,M[0],11,0xeaa127fa);HH(c,d,a,b,M[3],16,0xd4ef3085);HH(b,c,d,a,M[6],23,0x04881d05);HH(a,b,c,d,M[9],4,0xd9d4d039);HH(d,a,b,c,M[12],11,0xe6db99e5);HH(c,d,a,b,M[15],16,0x1fa27cf8) ;HH(b,c,d,a,M[2],23,0xc4ac5665);//传说中对M[j]的第四轮循环II(a,b,c,d,M[0],6,0xf4292244) ;II(d,a,b,c,M[7],10,0x432aff97) ;II(c,d,a,b,M[14],15,0xab9423a7);II(b,c,d,a,M[5],21,0xfc93a039) ;II(a,b,c,d,M[12],6,0x655b59c3) ;II(d,a,b,c,M[3],10,0x8f0ccc92) ;II(c,d,a,b,M[10],15,0xffeff47d);II(b,c,d,a,M[1],21,0x85845dd1) ;II(a,b,c,d,M[8],6,0x6fa87e4f) ;II(d,a,b,c,M[15],10,0xfe2ce6e0);II(c,d,a,b,M[6],15,0xa3014314) ;II(b,c,d,a,M[13],21,0x4e0811a1);II(a,b,c,d,M[4],6,0xf7537e82) ;II(d,a,b,c,M[11],10,0xbd3af235);II(c,d,a,b,M[2],15,0x2ad7d2bb);II(b,c,d,a,M[9],21,0xeb86d391);A += a;B += b;C += c;D += d;

步骤4
处理完所有的512位的分组后,得到一组新的A,B,C,D的值,将这些值按ABCD的顺序级联,然后输出。这里还要注意,输出的MD5是按内存中数值的排列顺序,所以我们要分别对A,B,C,D的值做一个小端规则的转换。举个例子:A有32位,分成4个字节A1A2A3A4。输出A的时候,要这样输出:A4A3 A2A1。这样就能输出正确的MD5了。

它的实现是满足上面所说的Merkle–Damgård散列函数的两个条件的,具体过程是这样的:
1.填充
拿到明文后,MD5现将明文转为二进制文件,然后将二进制文件的长度除以512比特(即64字节)如果余数等于448比特(即64-8字节)那么直接在后面加上八个字节的长度标识,使之成为512比特的倍数。否则则在明文后填一个1,再填充0直至其长度除以512等于448,再加上8位的长度标识。长度是使用大端序(big Endian)来存储,即低字节放在高地址位上。

比如加密的明文是admin,其二进制文件以16进制表示是0x61646d696e,长度是40比特(5字节),那么需要补充408比特(51字节)的填充符,填充内容第一位是1,其余全部是0。16进制表示是0x800000000000000000000000000000000000000000000000000。然后再添加8个字节的长度标识,admin长度为40比特,16进制是0x28,这个28要放在高位,就是0x280000000000000。结果如下所示:
在这里插入图片描述
MD5中存储的都是小端方式!
举个例子:假如我们这一块值为0x12345678
那么在MD5运算时候存储的顺序是 0x78563412
这也是之所以后8字节为长度,而第1字节先有数据的原因
2.分块运算
填充完毕后,函数就将填充后的明文以512比特的长度分块,进行运算。在运算中会用到四个初始向量(MD5中称作链变量,Chaining Variable),分别是A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476。经过一系列复杂的数学运算,函数会得到第一块的MD5值,然后将该MD5值分成四块,以大端序形成新的链变量,投入到第二块的运算,形成新的MD5值……以此类推,直到算出最后一块的MD5值,就是整个数据块的MD5值。

例如加密的明文是adminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadmin(105字节)
首先根据①的描述的算法填充后,分成两块进行运算,第一块是adminadminadminadminadminadminadminadminadminadminadminadminadmi(512比特),其MD5码是e7d6ca05773d038378f5e2674850be25,分成四块并以大端序存储,则A=0x05cad6e7,B=0x83033d77,C=0x76e2f578,D=0x25be5048(先把32个字节分为4组,然后小端存储)。将这四个变量作为链变量投入运算,再将第二部分加密,得到最终的MD5值是9ea2d490481dbcdadf61e7e404b99585。

如果攻击者知道MD5(salt+data)的值并可控制data的值攻击者可以设定data为与data+padding+append等长的任意字符串,然后计算MD5(str+append)。我们知道,MD5需要先填充再运算,攻击者可以在程序计算append所在块之前,将MD5(salt+data)的值直接替换掉初始的链变量,就能够算出MD5(salt+data+padding+append)的值了。设MD5(CV,data)表示以链变量CV计算data的MD5值,那么(为简便起见,这里设append的长度不超过448比特,超过的原理也类似)
MD5(IV, salt+data+padding+append) = MD5(MD5(IV, salt+data), append)
之所以要知道salt的长度,是为了确保salt+data+padding+append和攻击者输入的data拥有相同的填充(即padding2相等),以确保最后一步的运算得到相同的结果
注:所谓加Salt,就是加点“佐料”。当用户首次提供密码时(通常是注册时),由系统自动往这个密码里加一些“Salt值”,这个值是由系统随机生成的,并且只有系统知道。然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“Salt值”,然后散列,再比较散列值,已确定密码是否正确。

这样,即便两个用户使用了同一个密码,由于系统为它们生成的salt值不同,他们的散列值也是不同的。即便黑客可以通过自己的密码和自己生成的散列值来找具有特定密码的用户,但这个几率太小了(密码和salt值都得和黑客使用的一样才行)。
在这里插入图片描述

Plaid CTF 2014 Crypto 250 Parlor

题目复述
在这里插入图片描述
首先,本菜鸟先把它翻译了一下子
1.nonce:Nonce是或Number once的缩写,在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值
在加密技术中的初始向量和加密散列函数都发挥着重要作用,在各类验证协议的通信应用中确保验证信息不被重复使用以对抗重放攻击(Replay Attack)。
2.num:num是number的简写

然后,解析题目
1、给出odds的值
2、下注bet
3、猜测一个数字(your number)
4、如果该数字满足md5(our number + your number) % odds == 0即成功

最后,解题目
首先会切成数个 64 byte 的 block
最后一个 block 如果不是 56 byte 会做 padding
padding 的方式是第一个 byte 为 \x80
接着填充\x00
最后 8 byte 补上原始长度(bit)
在 md5 会有 4 个初始量
a=Ox67452301
b=OxEFCDAB89
c=Ox98BADCFE
d=Ox10325476
接着会以a b c d 和 block[i] 为参数做一系列的运算
会得到另外四个值 aa bb cc dd
并且将 a b c d 和 aa bb cc dd 做相加
这个过程视为一个 round
aa,bb,c,c,dd=f(a,b,c,d,block[i])
a+=aa
b+=bb
c+=cc
d+=dd
a,b,c,d合并后的值为最终MD5
如果后面还有 block 就继续做运算,直到没有 block 为止
a b c d 的最终值合并后就是 md5 的结果

如果我们现在已知 md5(nonce + num) 的结果
将逆结果还原为 a b c d
并当作 function f 中 a b c d 的初始值
做一次 f(a,b,c,d,msg) 的运算
结果等同于 md5(nonce + num + padding + msg)
所以即使不知道 nonce + num
也可以预测出结果
现在我们已知MD5(nonce+num)后的结果
首先reveal nonce判断是否可行:
在这里插入图片描述
将odds设为100
第一次送’a\n’得到r1
r1=MD5%2**100(由题目所给条件所得)
第二次送’a\n’+padding+'b\n’得到r2
利用r1推出a,b,c,d,若结果与r2相同
则表明a是正确的并得到了完整MD5码
解密MD5可得flag:i_dunno_i_ran_out_of_clever_keys

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

相关文章

  1. 使用unity进行机器学习时遇到的错误集锦

    1.遇到如下dll文件消失找到CUDA的安装目录,改几个文件改成缺失的文件就可以,比如cublas64_10.dll缺失,可以找这个cublas64_100,改一下就可以用。...

    2024/4/27 17:41:58
  2. 3.在url中传递参数(其实与requests模块使用大致相同)

    3.在url中传递参数(其实与requests模块使用大致相同)node2:/root/python/20200525#cat t500.py import asyncio,aiohttpasync def fetch_async(url,params):async with aiohttp.ClientSession() as session:async with session.get(url,params=params) as r:print(dir(r))pr…...

    2024/4/27 17:25:37
  3. 2020年第十届MathorCupA题 无车承运人平台线路定价问题的赛后感想

    ;这篇文章主要是想记录一下今年参加Mathorcup的过程。 团队 首先,我是负责编程的,但是就我觉得要我建模也是可以的。找队友的话比较佛系,看到我同学发朋友圈就拉他了,我们是一个团队的,感觉是个大佬的样子,就拉他了。然后写论文就找了亚太赛的前队友,她是用LaTex的。这里…...

    2024/4/27 16:15:39
  4. kotlin 递归

    程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述…...

    2024/4/27 16:46:32
  5. 一般迭代法(二)| 迭代法的收敛速度(收敛阶)+收敛过程的加速(Aitken加速法)

    1. 迭代法的收敛速度 迭代过程的收敛速度,是指迭代误差的下降速度。迭代法的收敛速度一般用收敛阶来描述。 定义2:对于收敛的迭代法xk+1=φ(xk),(k=1,2,⋯ )x_{k+1}=\varphi(x_k),(k=1,2,\cdots)xk+1​=φ(xk​),(k=1,2,⋯),如果存在常数p≥1,c>0p\geq 1,c>0p≥1,c&g…...

    2024/4/27 14:57:47
  6. 赛事笔记3

    Datawhale 笔记3-模型训练 今天将代码逐句的理解了一下。 之后想学习一下经典神经网络的框架。...

    2024/4/27 15:01:25
  7. 设计模式(十二)创建类模式比较

    在看完基础的设计模式之后,回头想想,其实大部分模式仍然是半瓶水。对于一种简单的模式稍加变化,模式里面的各个部分应该如何继续抽象? 1.策略模式中,环境角色似乎是不需要的。但在实际的运用中,它在处理多角色情况下,是必不可少的。这些都需要加深理解。 2.状态模式和命…...

    2024/4/27 17:37:49
  8. 手动启动 oracle 服务

    手动启动 Oracle 服务为了学习,我们常常会在个人PC上安装 Oracle 数据库,这大大影响了计算机的运行速度,尤其是计算机开机速度,如果 Oracle 使用频率并不是非常高,我们可以禁止 Oracle 服务的自动启动,真正用到的时候再手动启动 Oracle 服务。 此文用到的 Oracle 版本: …...

    2024/4/27 16:52:54
  9. 程序员群体里女生比例很小,难道女生真的不适合吗?

    笔者本科专业是计算机相关专业,记得多年前本科刚毕业的时候,班上大部分女生选择了读研。两年后,一部分专硕的女同学毕业,无一例外的都选择了从软件测试、运维等岗位进入互联网公司,而放弃了直接进入开发岗位做程序员。即便读研期间,跟着导师完成了大量软件项目,积累了丰…...

    2024/4/27 14:15:03
  10. win10主机与两个centos7虚拟机间网络连通问题

    背景:主机win10且能联外网、vm12下两个虚拟机(简称虚1、虚2)需求:一、虚1、虚2相互能ping通二、虚1、虚2分别能联外网三、主机分别能ping通虚1、虚2Here we go! Step1:先记录win10主机当前网络的ip、网关、子网掩码。192.168.1.11、192.168.1.1、255.255.255.0Step2:编辑…...

    2024/4/27 17:58:05
  11. 干掉Navicat:这个IDEA的兄弟真香!

    DataGrip 版是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite及Sybase等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。JetBrains DataGrip 2020功能 数…...

    2024/4/24 7:42:45
  12. 2020ABT精选面试题,共550页PDF干就完了!(以及疫情期间面试经历分享)

    前言 本人水平有限,此文针对于自认为技术实力对标阿里P6,百度T5或者以下的读者,如果是大佬不小心点进来了,可以自行点x略过。文内并不会出现每一家公司的面试过程细节,主要目的在于帮助大家怎么在像我一样菜的情况下在这寒冬拿下offer或者说有复习准备方向。(文章纯干货分…...

    2024/4/27 13:59:11
  13. 金典系列之红黑树

    金典系列之红黑树1. 定义红黑树(Red Black Tree)是一种特化的AVL树(平衡二叉树),因此它也是自平衡二叉查找树。对其进行插入和删除操作时,都需要通过特定操作(包括左旋、右旋等),来保持其平衡性,从而获得较高的查找性能。2. 红黑树存在的意义 在二叉查找树中,AVL树的查…...

    2024/4/27 14:09:39
  14. UnityECS学习

    一、需求:需要做基于BIM的大场景展示,先不提功能,模型展示就是个问题。基本核心的优化是LOD,把Revit通过3dmax转换,处理,分解成一个个模型单元,再在Unity中进行场景重建。这个已经完成了。在Unity中再结合LOD,能够一定程度上优化性能,提高帧率,但是不够。现在是1000w…...

    2024/4/27 13:31:55
  15. 在阿里云(Centos)的docker容器里安装部署tomcat

    docker上安装tomcat启动dockersystemctl start docker查询tomcatdocker search tomcat运行结果,从左往右分别是:名字,基于什么环境或技术,点赞,是否官方,是否自动启动拖拉tomcat,拖拉name就会自动拖拉DESCRIPIONdocker search tomcat使用tomcat镜像运行容器docker run -…...

    2024/4/16 18:57:31
  16. NLP入门——分词与embedding

    直接安装pkuseg等好多次都失败了,于是换清华源。pip install pkuseg -i https://pypi.tuna.tsinghua.edu.cn/simple用清华源安装北大的东西感觉好尴尬啊。哈哈哈,不过速度相当快啊。后来一搜,woc,这个库和北大没关系,有人蹭热点,我特么卸载了,还是用jieba了,但是咋embe…...

    2024/4/16 18:57:19
  17. 【艾琪出品】-【大连理工大学】大工20春《计算机应用基础》在线测试3试题参考资料

    【声明】本博客内容,若有侵权请告之,会删除 非商业用途,如有侵权,请告知我,我会删除如回复不及时,或不懂的请加我 微信 island68 QQ823173334 可以的话注明来自CSDN很希望通过CSDN这个平台与大家交流自用留存大工20春《计算机应用基础》在线测试31. 计算机病毒具有传染…...

    2024/4/16 18:57:19
  18. 个人对五子棋的程序设计的几个难点的思考和理解

    五子棋程序设计的几点个人理解 本人在对简单五子棋程序设计的过程中的几个难点的个人思考和理解, 当然没到使用极大值极小值算法和Alpha-Beta剪枝的那种高级算法的程度, 只是能够使用最基本的C语言知识来尽可能的进行合理的模拟。在这过程中会有几个难点,写在这里便于理解思…...

    2024/4/24 7:42:39
  19. 在IT行业的三七法则下,如何才能成为顶级的前端工程师?

    提前web前端工程师,大多数业内人的反应都是“一入web前端深似海,从此休班是路人。”但其实,如果你是一名web前端工程师或是有正想入门学习的想法,你将感到幸运。 因为web前端正从之前的默默无闻,到后来的给后台工程师打下手,再到现在巅峰一时。web前端可谓是当下最火的职…...

    2024/4/24 7:42:38
  20. 前端设计模式个人汇总(面试+总结+原创实例)

    前言 个人汇总前端,包含自我的总结,以及原创实例。个人觉得更加通俗易懂,适合入门者快速入门。欢迎关注。本文简介话题 来源设计模式是什么 个人理解设计模式的基本准则 个人理解 + 参考链接:https://www.jianshu.com/p/62b69282b491设计模式的分类 个人理解 + 参考链接:h…...

    2024/4/24 7:42:38

最新文章

  1. 微服务与单体应用之间的调用问题

    前言 本文转自 www.microblog.store,且已获得授权 一、问题背景 microblog.store微博客使用了微服务架构,并且docker容器化部署; 另有一个独立的单体应用,功能是: 作为ip地址解析中心; 微服务集群以及该单体应用都部署到同一台服务器上面,有需要的时候微服务集群里面某个微服务…...

    2024/4/27 18:35:39
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 数据结构--KMP算法

    数据结构–KMP算法 首先我在这里提出以下问题&#xff0c;一会一起进行探讨 1.什么是最长公共前后缀 2. KMP算法怎么实现对匹配原理 3. 最长公共前后缀怎么求解 KMP算法可以用来解决什么问题&#xff1f; 答&#xff1a;在字符串中匹配子串&#xff0c;也称为模式匹配 分析…...

    2024/4/23 6:16:26
  4. 方案分享 | 嵌入式指纹方案

    随着智能设备的持续发展&#xff0c;指纹识别技术成为了现在智能终端市场和移动支付市场中占有率最高的生物识别技术。凭借高识别率、短耗时等优势&#xff0c;被广泛地运用在智能门锁、智能手机、智能家居等设备上。 我们推荐的品牌早已在2015年进入指纹识别应用领域&#xff…...

    2024/4/27 17:55:35
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/26 20:12:18
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/26 21:56:58
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/26 22:01:59
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57