TL;DR: 前面几篇文章我们介绍了密码学的两大基本单元 - 随机数和Hash算法。有了这两大基元的加持,我们就可以开始密码学中的加解密算法的介绍。本文我们将重点介绍密码学中的对称密钥算法,包括流密码算法,块密码算法;各种算法的基本原理,重点介绍了主流的块密码算法的补位,迭代模式,加密器的实现等,最后动手实践了在Java中如何使用这些算法为我们业务所用!

数据加密及类型

数据加密,指的是根据一定规则,将数据处理成不规则的数据,使得人们除非有了关键的钥匙以及得知这个规则,难于得知无规则数据的真实含义。这个一定规则 就是加密算法,这个钥匙就是密钥。

数据加密分为对称密钥加密以及非对称密钥加密:

  • 对称密钥加密: 双方共同持有这个密钥,发送方用这个密钥按照指定的算法将数据加密,再发出去;接收方用这个密钥将接收到的数据解密,以得到真实的数据含义。由于双方都持有这个密钥,而且内容相同,所以叫对称密钥
  • 非对称密钥加密:这种加密方式的密钥是一对,发送方用其中的一把钥匙将数据加密,再发出去;接收方用这对密钥的另一把钥匙将数据解密,以得到真实的数据含义。发送方持有密钥中的一把钥匙,接收方持有另外一把。接收方持有的钥匙叫 私钥, 而接收方持有的这把钥匙叫公钥 。两把钥匙不一样,所以叫做非对称密钥加密,也叫做公开密钥算法。

这篇文章我们主要介绍对称密码加密算法。对称加密算法可以简单地概括为通过一个算法和一个密钥,对明文进行处理,变成一个无规则无意义数据的算法。明文在算法里面叫plaintext,密钥叫做key,而最终生成的密文叫ciphertext. 下图形象地描述了对称机密算法的操作:
在这里插入图片描述

我们也可以用如下的公式来简单表述对称加解密算法:

​ 密文 = E(明文,算法,密钥)

​ 明文 = D(密文,算法,密钥)

流密码算法

流密码加密是指将明文信息按字符(具体是按二进制位)逐位地加密的一类密码学算法。在计算机存储中,所有的信息最终都是用0和1进行表示。所以可以采用一些算法,把某些0变成1,把某些1变成0,这样别人就很难知道真实的内容是什么。怎样把某些0变成1,把1变成0好呢?数学上的异或 XOR ⊕ 操作提供了极好的方案:

  • 0 ⊕ 0 = 0
  • 0 ⊕ 1 = 1
  • 1 ⊕ 0 = 1
  • 1 ⊕ 1 = 0

那么加密的时候,明文为M,密钥为K,这样加密的过程就是: 密文C = M ⊕ K, 而对应的解密过程则为 M = C ⊕ K . 破解者仅凭密文是很难破解出明文,即使采用一定的暴力手段,也无法确认破解的明文就是原始明文。

流密码算法的过程大概是这样的:

  • 用户提供一个原始密钥key
  • 算法将原始密钥key作为种子seed,生成一个伪随机数,这个伪随机数将作为加密的密码流。由于加解密双方知道算法以及种子seed,所以能生成相同的伪随机数
  • 算法将原文M与密码流进行异或操作,从而得到密文C
  • 信息的接受者同样根据密钥key以及约定的伪随机数生成算法, 生成一个密码流
  • 接着将密文C与密码流进行异或操作,从而得出原文

流密码算法可以并行进行处理,而且主要是简单的异或操作,所以性能非常好。

流密码算法的安全问题

但是流密码算法有个问题:如果原始key不变的话,之前的密文很容易被破解。比如有人用明文A,加密后得到的密文为EA。这时如果密钥不变,而我们拦截到密文EA, 那么我们怎样能破解密文呢? 我们可以用明文B去请求一次加密,得到密文EB。这时我们手头上有对方的密文EA,我们自己明文B以及对应的密文EB,所以我们就可以推算出明文 A = EA ⊕ EB ⊕ B。 这个过程怎么推导出来的呢?

  1. EA = A ⊕ Key
  2. EB = B ⊕ Key

根据相同的值异或为0 这个规则,那么我们可以推出:

  1. EA ⊕ EB = A ⊕ Key ⊕ B ⊕ Key = A ⊕ B ⊕ (Key ⊕ Key) = A ⊕ B

这时两边同时异或B:

  1. EA ⊕ EB ⊕ B = A ⊕ B ⊕ B = A ⊕ (B ⊕ B ) = A

所以明文A = EA ⊕ EB ⊕ B

流密码算法的关键是一次性的密码本(One-time Pad), 这样才能确保消息不被破解。 由于速度快以及实现简单,在确保一次性密码的前提下,流密码算法一直活跃于各种业务场景下。RC4 (Rivest Cipher 4)就是一种常见的流密码加密算法的实现。之前一直用于HTTPS的TLS,对用户请求的内容进行对称加密,而其密钥则由RSA或者DH等密码协商算法一次性生成使用。 但由于后来有攻击者可以在4个小时破解一个HTTPS保护的cookie的内容。所以RC4现在基本被移除出 HTTPS的加密套件。在实际项目当中,大家也尽量能不用就不用RC4。可以采用我们下面要介绍的块密码加密算法,目前更为安全一点。

块密码算法

块密码(Block Cipher)算法加解密的时候,不是一次性完成,而是把原文分成固定长度的块,每次对这些数据块进行处理。所以块密码算法也叫分组密码算法。

块密码算法的流程大致如下:

  • 将全量明文M按照算法要求拆解成固定大小的明文块m-0 ~ m-n, 也就是一小块一小块的分组
  • 对于每一个明文块通过加密器进行加密
  • 加个明文块加密的结果合并起来,成为最终的明文C
    在这里插入图片描述

Padding

分组很有可能会发生全量明文不是块大小的倍数,比如全量明文是64bits : {1,2,3,4,5,a,b,c,d,e} , 块大小是128bits,那么明文块0就只有64bits。这时怎么办呢?其中一种解决方式就是进行补位了。然后当解密成功后,将补位的内容去掉就得到完整的明文。补位的类型有下面几种:

1) NoPadding

第一种最霸气,加密算法说“我不补位!” 。 你们的明文都必须是我指定的块大小的倍数,否则我就不干了!比如上面的情况,你提供一个128bits 倍数的明文,那我乖乖地加密,如果不是128bits的倍数,我就报错! 这样我解密也不用费事去除补位的内容了!

我相信大多数的码农打心里都想这样干,同时我也相信这样写大概率会被项目经理追杀!

2) ZeroPadding

第二种比较乖,明文不是块大小的倍数是没问题的,我来帮你补齐,你差几位,我补几个0. 比如上面明文块差64bits,那我就补8个0字符。变成 {1,2,3,4,5,a,b,c,d,e,0,0,0,0,0,0,0,0}. 这样补齐128bits。

这种补位方式加密的时候没问题,但是在解密的时候有可能会遇到问题:万一明文最后几个字符也是0,比如你的存款3000000000。这样如果银行的程序员小哥的加密算法补位是ZeroPadding,当你要去取款时系统解密余额,发现后面全是0,好家伙全干掉了. 小哥 + 项目经理卒…

3) PCKS#5 / PKCS#7

既然有问题,那我们就改进。标准化组织IETF(Internet Engineering Task Force)的PKIX工作组维护了一系列的标准,从PKCS#1到PKCS#14,其中的PKCS#5 和PKCS#7里面有定义了关于补位的标准。PKCS#5 / #7的补位标准是:补位的字符等于缺少的字符数。比如上面明文 {1,2,3,4,5,a,b,c,d,e},块大小是128bits,那么明文块缺少64bits,也就是8个字符,那么补位的字符就是8。补位后的明文变成 {1,2,3,4,5,a,b,c,d,e,8,8,8,8,8,8,8,8}。

如果明文大小刚好了块大小的倍数呢?那就补齐一整个块。最后一块变成了 {16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16}.

PKCS#5 /PCKS#7在补位方面是一样的,他们的区别在于明文块的大小:PKCS#5 限定了明文块的大小是128bits,而PKCS#7的分组大小可以1-255任意大小。

迭代模式

补位完成后,我们可以开始加密了。全量明文分成这么N跟明文块,那么需要迭代对每一个明文块进行加密。块密码算法有很多种不同的迭代方式,下面我们介绍常用的以及推荐的迭代方式:

1) ECB - Electronic CodeBook

ECB模式时最简单的一种迭代模式。它的加密过程如下:

  • 将全量明文分成多个明文块,最后一块不够块大小的需要补位
  • 一次对每个数据块进行迭代,得到每一个数据块对应的明文,最后将所有的密文块组合成完整的密文。

其解密的过程刚好是相反的。下图展示了ECB的加密过程图示:

在这里插入图片描述

ECB的优点是: 简单,由于每一块都是独立加密运算的,可以并行运算,并且误差不会被传递

ECB的缺点是:不能隐藏明文的模式,比如原文重复出现有“珍珠港”字样,那么密文也相同的密文字符重复出现。而且有可能被进行明文攻击,具体可以搜索一下ECB模式攻击

不推荐使用ECB作为对称密码加密的迭代模式。

2) CBC - Cipher Block Chaining

CBC是一种比较常见的迭代模式,基本解决了ECB模式的安全问题。它的迭代步骤如下:

  • 同样地将明文分组,最后一块进行补位
  • 处理第一个数据块前,生成一个初始化向量 IV (Initialization Vector). IV一般是随机数
  • IV与明文块0进行异或,运算的结果经传给密码器进行加密,得出密文C0
  • 接着处理后续明文块,将上一个明文块的输出C0 作为下个明文块加密的IV,进行与第一个块相同的操作,以此迭代下去。

下图展示CBC的迭代模式:

在这里插入图片描述

CBC模式的优点是:引入了IV,如果采用随机IV,可以做到同样的明文和密钥,最终得到的明文不一样,更为安全一些。初始化向量IV是对着密文一起发送给解密者的,IV的长度是跟密码块的长度一致,一般作为第一个密码块传递给解密者

CBC的缺点是:每一块的解密都需要上一块解密的结果作为输入IV,所以只能串行处理。

推荐使用CBC作为对称密码加密的迭代模式。

3) CTR - Counter

CTR模式在迭代的时候,类似于流密码的运行模式。每次迭代的时候要生成一个密码流。生成密码流的方法可以是任意的,但是各个密码之间是有关系的,最简单的方式就是密码流不断递增,所以这个就叫 计数器模式 Counter。它的处理过程大致如下:

  • 将明文拆成N个明文块,但是不用补位
  • 生成N个密码流,简单的方式比如递增
  • 接下来进行迭代加密,密码流与密码进行加密操作,然后与明文进行异或XOR运算得到密文块
  • 迭代运行每一个明文块,得到最终的密文

下图展示了CTR模式的大致流程:
在这里插入图片描述

CTR的优点是: 引入Nonce,随机的Nonce可以确保同样的明文和密钥,可以产生不同的密文。由于密钥流按照一定的规则生成,所以个加密单元可以预先知道所有的输入 密钥, Nonce,明文块,那么就可以并行进行处理。 CTR每一块里面采用流加密算法,将明文与对应的流密钥位进行异或XOR操作就行,所以不需要补位填充

推荐使用CTR作为对称密码加密的迭代模式。

加密器

上面这几种不同的迭代方式都说到了加密器,但到目前为止,这一部分仍然像个黑盒子一样,只知道给他密钥跟明文,他就能加密。不同的算法有不同的加密器的实现,即使相同算法,密钥长度不同加密器的实现也有不同,比如AES加密器里面,AES128的密钥迭代次数是10,AES192是12轮,而AES256是14轮。但加密器的基本操作的类型大致有,有字节替换,行位移,列混淆,加轮密钥。不一定每一个算法都实现了这4个步骤。

1) 字节替换

字节替换是将明文的字符根据一定的规则替换成另外的字符,根据什么规则呢?一般会有与明文块大小一致的二维常量数组,这个二维常量数组也叫替换表 Substation Box, 简称S盒。 算法实现根据明文的位置从S盒中找到对应的字符替换掉明文字符。比如AES128的块长度是16字节,那么它的S盒就是一个4x4的二维数组。如下图:

在这里插入图片描述

2) 行位移

替换还不够,这里还要来个行位移,怎么弄呢?就是每一行的元素 “预备起”,按照要求向左或者向右移动几位。比如第0行不动,第1行左移1位,第2行左移2位,第3行左移3位。下图描述了这个过程:

在这里插入图片描述

3) 列混淆

行已经移动了,列也进行移动就显得很弱,那我就进行混淆吧。每一列都要与一个叫修补矩阵(fixed matrix)的二维数组常量进行相乘,得到对应的输出列:

在这里插入图片描述

4) 加轮密钥

行也移动了,列也混淆了,我们还有一个真正的密钥没动呢!密钥也排成对应的矩阵,比如AES128的就排成一个4x4的矩阵。然后将输入数组的每一个字节与密钥矩阵的对应位置的值进行异或XOR操作,生成最终的输出值。下图描述了这个过程:

在这里插入图片描述
这里要注意一下,这里的密钥不是原始128位的密钥,而是由原始128位的密钥扩展出来的子密钥。上面说了AES128的加密迭代是10轮,那么就需要从原始128位的密钥迭代生成10个128位的子密钥。下面描述了一个64bit密钥的迭代过程:

  • 将64 位的key按照第一轮置换表PC-1进行置换,得出一个置换结果1。由于置换表只有56位,所以置换结果只有56位(每7位需要留1位作为校验码)
  • 将56位的置换结果分成左右两部分,左边是C0, 右边是D0,每一边都是28位
  • C0跟D0分别按照循环左移表进行进行左移操作,得到左移后的C1和D1
  • C1和D1进行合并,再经过48位的PC-2表进行置换操作,得到一个48位的密钥K1
  • 将上一轮产生的C1和D1作为下一轮的输入,迭代直到所有的轮数都完成

下图大致描述了这个过程:

在这里插入图片描述

块密码算法的种类

上面我们介绍了块密码大部分的原理内容了,接着我们来看一下常见的块密码算法 DES, 3DES 以及AES。

1) DES

DES - Data Encryption Standard. 听着名字就霸气 - 数据加密标准,一般这么霸气都是来自米国。1977年米国采用了IBM公司设计的加密方案作为正式的数据加密标准,起名为DES。 DES 是分组密码算法的一种,它的key是64bits,它支持的迭代模式为ECB和CBC。它的主要流程是:

  • 将明文分组
  • 对每个分组进行初始字节置换
  • 生成对应的子密钥
  • 对每一个迭代进行置换,异或运算等运算,得到分组密文
  • 迭代直到完成全部迭代过程

2) 3DES

随着时间的推移,摩尔定律持续生效,64位的密钥被破解的风险很高。而设计一种新密码算法又需要很长的时间,进行实际应用论证就更长了。所以不能轻易放弃DES。既然它长度不够,那么我们就扩展它密钥长度。一个64位的密钥不够长,那我就弄出3个64bits: K1,K2, K3. 把密钥变成 Key = EK3(DK2(EK1)).

  • 首先用K1进行DES加密
  • 然后用K2进行DES解密 (由于K1 != K2, 所以解密也就变成加密
  • 最后用K3进行DES再加密

所以这个算法叫 3DES。这个算法基本解决了DES算法密钥长度不够的问题,但也引来了新的问题,同一个明文需要加密3次才能得出结果,性能自然而然就降下来了

3) AES

3DES虽然勉强能满足要求,但是作为宇宙科技最先进的NIST,不可能就此碌碌而为啊! 2000年召集群英会,要求设计出一款新的安全的对称加密算法。 Rijndael 被选中成为后宫佳丽,在2002年宣布正式成为新的加密算法标准 AES - Advanced Encryption Standard。 AES支持128,192,256位数的密钥, 支持 ECB,CBC, CTR等迭代模式。AES加密的步骤有:

  • 将明文进行分组,最后一个块需要进行补位
  • 对于每一个分组进行字节置换,行位移,列混淆以及加轮密钥的操作
  • 不同的密钥长度进行不同的轮数操作,有10轮,12轮,14轮,得到分组密文
  • 迭代直到完成全部迭代过程

目前大部分的加密场景下都使用了AES,也推荐大家使用AES进行加密。

对称密码算法在Java中的实践

流密码算法RC4

下面我们实现一个简单的流密码算法RC4:

public class RC4Util {static Logger logger = LoggerFactory.getLogger("RC4Util");public static void main(String[] args) throws UnsupportedEncodingException {String message = "I am Vita";String password = "lemon";String cipherText = encrytRC4String(message, password);logger.info("message '{}' with password '{}', cipher text: '{}'", message, password, cipherText);String plainText = decrytRC4String(cipherText, password);logger.info("cipher '{}' with password '{}', plain text: '{}'", cipherText, password, plainText);}public static String encrytRC4String(String data, String key) throws UnsupportedEncodingException {if (data == null || key == null) {return null;}return HexUtils.toHexString(RC4Encryption(data.getBytes(), key));}public static String decrytRC4String(String cipherText, String key) {if (cipherText == null || key == null) {return null;}return new String(RC4Encryption(HexUtils.fromHexString(cipherText), key));}private static byte[] RC4Encryption(byte[] data, String mKkey) {int x = 0;int y = 0;byte key[] = keyDerivation(mKkey);int xorIndex;byte[] result = new byte[data.length];for (int i = 0; i < data.length; i++) {x = (x + 1) & 0xff;y = ((key[x] & 0xff) + y) & 0xff;byte tmp = key[x];key[x] = key[y];key[y] = tmp;xorIndex = ((key[x] & 0xff) + (key[y] & 0xff)) & 0xff;result[i] = (byte) (data[i] ^ key[xorIndex]);}return result;}private static byte[] keyDerivation(String aKey) {byte[] bkey = aKey.getBytes();byte state[] = new byte[256];for (int i = 0; i < 256; i++) {state[i] = (byte) i;}int index1 = 0;int index2 = 0;if (bkey.length == 0) {return null;}for (int i = 0; i < 256; i++) {index2 = ((bkey[index1] & 0xff) + (state[i] & 0xff) + index2) & 0xff;byte tmp = state[i];state[i] = state[index2];state[index2] = tmp;index1 = (index1 + 1) % bkey.length;}return state;}}

执行结果为:

11:35:16.118 [main] INFO RC4Util - message 'I am Vita' with password 'lemon', cipher text: '8db4d29023fb305dc8'
11:35:16.122 [main] INFO RC4Util - cipher '8db4d29023fb305dc8' with password 'lemon', plain text: 'I am Vita'

块密码算法

在Java中,块密码算法都抽象在Cipher这个class里面,我们可以参入不同的加密算法作为输入参数,Cipher会去寻找不同的算法实现在进行加解密。所以DES , AES的调用都可以用相同的Util类实现。 这个Util类采用了默认初始化向量IV的实现 - SecureRandom,并且将这个动态的IV 放到密文的第一个分组,这样IV就不用在额外传递。

public class SymmetricUtil {static Logger logger = LoggerFactory.getLogger("SymmetricUtil");public static void main(String[] args) throws Exception {String message = "I am Vita";String desPassword = "lemonIsG"; // 8bittestCryptgo("DES","DES/CBC/PKCS5Padding", message, desPassword );String aesPassword = "lemonIsGoodForYo"; // 128bittestCryptgo("AES","AES/CBC/PKCS5Padding", message, aesPassword );}public static void testCryptgo(String family, String algorithm, String message, String password) throws Exception {String cipherText = encrypt(family, algorithm, message, password);logger.info("[{}] message '{}' with password '{}', cipher text: '{}'", family, message, password, cipherText);String plainText = decrypt(family, algorithm, cipherText, password);logger.info("[{}] cipher '{}' with password '{}', plain text: '{}'", family, cipherText, password, plainText);}public static String encrypt(String family, String algorithm, String message, String password)throws Exception{SecretKeySpec key = new SecretKeySpec(password.getBytes(), family);Cipher cipher = Cipher.getInstance(algorithm);
//    REMARKS: if you want to use self defined IV, use below logic to generate IV. here use the system default IV by SecureRandom
//    String ivString = RandomStringUtils.randomAlphanumeric(cipher.getBlockSize());
//    IvParameterSpec iv = new IvParameterSpec(ivString.getBytes());
//    cipher.init(Cipher.ENCRYPT_MODE, key,iv);cipher.init(Cipher.ENCRYPT_MODE, key);byte[] cipherByte = cipher.doFinal(message.getBytes());return HexUtils.toHexString(ArrayUtils.addAll(cipher.getIV(), cipherByte));}public static String decrypt(String family,String algorithm, String message, String password)throws Exception{byte[] messageByte = HexUtils.fromHexString(message);SecretKeySpec key = new SecretKeySpec(password.getBytes(), family);Cipher cipher = Cipher.getInstance(algorithm);// retrieve IV from cipherTextbyte[] iv = ArrayUtils.subarray(messageByte,0, cipher.getBlockSize());// retrieve the real cipher content from inputbyte[] cipherContent = ArrayUtils.subarray(messageByte,cipher.getBlockSize(), messageByte.length);IvParameterSpec ivParams = new IvParameterSpec(iv);cipher.init(Cipher.DECRYPT_MODE, key, ivParams);byte[] cipherByte = cipher.doFinal(cipherContent);return new String(cipherByte);}}

程序执行的结果为:

16:32:02.182 [main] INFO SymmetricUtil - [DES] message 'I am Vita' with password 'lemonIsG', cipher text: '45e705887cf9c1646c8f8a75b1b1561e1a14304e2a44abcc'
16:32:02.191 [main] INFO SymmetricUtil - [DES] cipher '45e705887cf9c1646c8f8a75b1b1561e1a14304e2a44abcc' with password 'lemonIsG', plain text: 'I am Vita'
16:32:02.207 [main] INFO SymmetricUtil - [AES] message 'I am Vita' with password 'lemonIsGoodForYo', cipher text: '5f04ca7403eda616725b11b603df896d8c3bf91497f56e4a14f7e417ec77d43a'
16:32:02.207 [main] INFO SymmetricUtil - [AES] cipher '5f04ca7403eda616725b11b603df896d8c3bf91497f56e4a14f7e417ec77d43a' with password 'lemonIsGoodForYo', plain text: 'I am Vita'

小结

写了好几天,终于把对称密钥加密的内容大致写出来了!希望能通过这篇文章为大家理清对称密钥加密算法的轮廓,算法的实现原理,各种算法的区别以及如何使用!

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

相关文章

  1. k8s使用Harbor仓库

    title: kubeadm安装k8s 1.15版 image: /images/theme/k8s.jpg前提: 1、安装 k8s 的节点必须是大于 1 核心的 CPU 2、阿里云的repo 和base源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/epel.repo ht…...

    2024/4/27 6:34:30
  2. Redis学习整合

    RedisRedis1.关系型数据库CAP原理CAPCAP 的三进二BASE2. 分布式和集群简介分布式集群3. Redis入门是什么特点应用基本操作添加取值4. Redis数据类型StringListSetHashZset5. Redis三种特殊数据类型geospatial 地理位置Hyperloglog 基础统计Bitmaps6. Redis的事务事务7. Redis锁…...

    2024/4/24 11:33:36
  3. Guava 心得:Guava Cache

    缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系…...

    2024/4/24 11:33:35
  4. Python 标准库1

    Python 的标准库包括了很多的模块,从 Python 语言自身特定的类型和声明,到一些只用于少数程序的不著名的模块。1、内建函数和异常下面的这两个模块比其他模块加在一起还要重要:定义内建函数的 __builtin__ 模块:如 len, int, range ...定义所有内建异常的 exceptions 模块 …...

    2024/4/16 2:34:33
  5. 自己对Java正则表达式的一些总结

    超好的文章 对正则表示式的经典阐述,参考下面这篇文章: 经典的文章 以下所写的内容都基于java 的讨论。 自己遇到的一些问题从字符串中提取第一个左括号的字符,需要的知识点: 1)懒惰匹配 2)零宽断言 不多说直接上代码。package corporation.regex;import java.util.regex…...

    2024/4/27 1:44:46
  6. JavaScript数组

    常见数组方法1、some()2、reduce()3、Every()4、map()5、flat()6、filter()7、forEach()8、 findIndex()9、 find()10、 sort()11、 concat()12、 fill()13、 includes()14、 reverse()15、 flatMap() 在JavaScript中,数组是一个特殊的变量,用于…...

    2024/4/24 11:33:30
  7. 寻找月亮

    目标:用图像投影的方法来寻找超简单的图案步骤一:模糊后转化成灰度图src = cv.imread("D:/pythonTest/img/8.jpg") #cv.imshow("input",src) src1 = cv.GaussianBlur(src,(3,3),0) gray = cv.cvtColor(src1,cv.COLOR_BGR2GRAY)步骤二:转化为二值图像ret…...

    2024/4/24 11:33:28
  8. React学习之旅Part3:React中JSX语法的使用(渲染数字、渲染字符串、渲染布尔值、为属性绑定值、渲染JSX元素、渲染JSX元素数组、将普通字符串数组转换为JSX数组并渲染)

    JSX语法可以:渲染数字 渲染字符串 渲染布尔值 为属性绑定值 渲染JSX元素 渲染JSX元素数组 将普通字符串数组转换为JSX数组并渲染可直接将标签放入render()方法中: 该标签经过Babel的转换后不是一个HTML标签了 而是一个对象 import React from react import ReactDOM from rea…...

    2024/4/24 11:33:28
  9. python 异常情况处理

    异常情况处理 def ceshi():number = input(请输入一个数字: )number = int(number)# try 里面是有可能有异常的try:result = 10/number# except 是异常捕获,多个except也只能执行一个except ValueError:print(请输入整数)except ZeroDivisionError:print(请输入非0 整数)# el…...

    2024/4/27 15:39:51
  10. Python学习笔记05——类的创建及使用

    1类的定义 1.1类的组成属性 具体属性 特点方法 构造方法 构造方法用于构造实例对象,__init__,传入参数第一个必须是self方法 成员方法 成员方法定义在类中,第一个参数必须是self,方法前加__方法 私有方法 私有方法不能由外部调用,第一个参数必须是self方法 静态方法 静态方…...

    2024/4/27 20:01:25
  11. DDD之4聚合和聚合根

    聚合就是归类的意思,把同类事物统一处理; 聚合根也就是最抽象,最普遍的特性; 背景 领域建模的过程回顾: 那么问题来了? 为什么要在限界上下文和实体之间增加聚合和聚合根的概念,即作用是什么? 如何设计聚合? 按照一般的研究和学习思路,先弄懂概念,然后结合实际例子理…...

    2024/4/26 21:25:50
  12. 《Linux操作系统-系统移植》第12章 5G模组移植-第1节 中移物联5G移植(PPP拨号)

    开发环境 主机:ubuntu14.04 开发板内核版本:linux-4.14.78 1 内核驱动修改 当模块连接到USB串行驱动时,驱动程序将在目录/dev中创建设备文件, ttyUSB0/ttyUSB1/ 接下来就是讲解如何移植USB Serial。1.1增加PID&VID 要想识别模块,客户应该在下面添加模块ID信息 File: […...

    2024/4/27 16:57:34
  13. 《Java编程思想》学习笔记【二】

    终于忙完项目了…开始暑假学习。一切都是对象。 尽管一切都看作对象,但是操纵的标识符实际上是对对象的一个“引用”。 可以将这一切情形想象成用遥控器(引用)来操作电视机(对象)。 当有人想改变频道或减小音量时,实际操控的是遥控器(引用),再由遥控器来调控电视机(对…...

    2024/4/27 19:59:45
  14. C#操作Redis

    前提在安装Redis的情况下,不在赘述,上代码NuGet引用Redis、StackExchange.Redis封装类:using ServiceStack.Redis; using System; using System.CodeDom; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace…...

    2024/4/27 16:17:14
  15. 数据可视化pyecharts学习笔记---散点图

    直角坐标系图表–散点图 from pyecharts.charts import Scatter from pyecharts.charts import EffectScatter 1、基本示例 from pyecharts import options as opts from pyecharts.charts import Scatter from pyecharts.faker import Fakerscatter = Scatter() scatter.add_x…...

    2024/4/27 18:47:58
  16. 06 Netty核心模块组件

    文章目录BootStrap、ServerBootStrap(配置引导类)Future、ChannelFutureChannelEnventLoopGroup和其实现类NioEventLoopGroupSelector(聚合在NioEventGroup)ChannelHandler及其实现类PipeLine和ChannelPipeLineChannelHandlerContextChannelOptionNetty抽象出两组线程池BossG…...

    2024/4/27 19:04:45
  17. Guava 心得:Guava 新增集合类型 —— Multiset

    Guava引进了JDK里没有的,但是非常有用的一些新的集合类型。所有这些新集合类型都能和JDK里的集合平滑集成。Guava集合非常精准地实现了JDK定义的接口。Guava中定义的新集合有:MultisetSortedMultisetMultimapListMultimapSetMultimapBiMapClassToInstanceMapTable Multiset 集…...

    2024/4/27 20:21:09
  18. 网络攻防之wireshark抓取登录信息

    使用wireshark抓取登录信息 简介:Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在过去,网络封包分析软件是非常昂贵的,或是…...

    2024/4/27 17:48:56
  19. Chrome快速安装Vue-Devtools(不翻墙)

    翻墙是一种违法的行为,所以希望大家科学上网;下面介绍一下快速安装该扩展程序1、下载已经编译好的扩展程序包,可以去git上找,我这里也提供一下;2、Chrome网址栏目输入 chrome://extensions/3、选择 "加载已解压的扩展程序" 按钮 指向你解压后文件的chrome目录4、…...

    2024/4/27 15:12:59
  20. 使用前端代理实现跨域_devServer.proxy

    使用前端代理实现跨域_devServer.proxy 一、什么是跨域? ​ 跨域就是 协议、域名、端口号 其中有一个不同就属于跨域; ​ 跨域的存在是为了提高我们服务器数据的安全性 二、如何跨域? ​ 基于我使用的是vue框架,所以要在根目录创建一个名为vue.config.js的文件 ​ 其中的跨…...

    2024/4/27 17:29:56

最新文章

  1. http请求与响应,结合springboot

    目录 简单参数&实体参数 get请求 post请求 简单参数&实体参数【总结】 springboot中接受简单参数 RequestParam注解 实体参数接收 数组集合参数 数组接收 集合接收 数组集合参数 【总结】 简单参数&实体参数 get请求 请求url&#xff1a; http://l…...

    2024/4/28 0:48:08
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 2024年04月IDE流行度最新排名

    点击查看最新IDE流行度最新排名&#xff08;每月更新&#xff09; 2024年04月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…...

    2024/4/26 19:30:12
  4. LeetCode-46. 全排列【数组 回溯】

    LeetCode-46. 全排列【数组 回溯】 题目描述&#xff1a;解题思路一&#xff1a;回溯。回溯三部曲解题思路二&#xff1a;0解题思路三&#xff1a;0 题目描述&#xff1a; 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案…...

    2024/4/26 19:51:44
  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/27 23:24:42
  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