一、椭圆曲线密码算法
椭圆曲线:是一类二元多项式方程,它的解构成一个椭圆曲线。

椭圆曲线参数:定义一条唯一的椭圆曲线。介绍其中两个参数G(基点)和n(阶)。G点(xG, yG)是椭圆曲线上的基点, 有限域椭圆曲线上所有其他的点都可以通过G点的倍乘运算计算得到,即P=[d]G, d也是属于有限域,d的最大值为素数n。

有限域上的椭圆曲线:椭圆曲线上的解不是连续的,而是离散的,解的值满足有限域的限制。有限域有两种,Fp和F2m。

E(Fq):Fq上椭圆曲线E 的所有有理点(包括无穷远点O)组成的集合。

Fp:一个素整数的集合,最大值为P-1,集合中的值都是素数,里面元素满足以下模运算: a+b=(a+b) mod p 和 ab=(ab) mod p。

SM2:有限域Fp上的一条椭圆曲线,其椭圆曲线参数是固定值。

公私钥:P=[d]G,G是已知的,大数d为私钥,点P(XP, YP)为公钥。

SM2推荐使用素数域256位椭圆曲线:
–>EC_GROUP_new_by_curve_name(NID_sm2p256v1)

//可以得出固定参数
//Sm2 中指定的参数 确定下y2 = x3 + ax + b 曲线
#define _P “FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF”
#define _a “FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC”
#define _b “28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93”
#define _n “FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123”
#define _Gx “32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7”
#define _Gy “BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0”
OpenSSL部分涉及代码
//初始化一个空算法组
EC_GROUP *group = EC_GROUP_new(EC_GFp_mont_method());
//初始化一个推荐椭圆曲线的算法组
EC_GROUP *group = EC_GROUP_new_by_curve_name(NID_sm2p256v1);
//上下文
BN_CTX *ctx = BN_CTX_new();
//创建EC_KEY,使用推荐椭圆曲线
EC_KEY *ec_key = EC_KEY_new_by_curve_name(NID_sm2p256v1)
//生成公钥私钥
EC_KEY_generate_key(ec_key);
//设置私钥
EC_KEY_set_private_key(ec_key, d);
//设置公钥
EC_KEY_set_public_key(ec_key, P);
//通过ec_key获取算法组
EC_GROUP *ec_group = EC_KEY_get0_group(ec_key);
//获取基点G
EC_POINT * G = EC_GROUP_get0_generator(ec_group);
//大数初始化
BIGNUM *rand = BN_new();
//EC_POINT初始化
EC_POINT *P = EC_POINT_new(ec_group);
//获取坐标点p的x,y值
EC_POINT_get_affine_coordinates_GFp(ec_group,p,x,y,ctx);
//Gets the order of a EC_GROUP – n阶 对应上面固定参数的_n
EC_GROUP_get_order(ec_group, order, ctx);
//随机数生成
do {
BN_rand_range(rand,order);
} while (BN_is_zero(rand));
//大数转二进制
int len = BN_bn2bin(bn, outChar);
//获取坐标点p转大数bn
EC_POINT_point2bn(ec_group, p, POINT_CONVERSION_COMPRESSED, bn, ctx);
//点的乘积 lP = P * rand
EC_POINT_mul(ec_group, lP, NULL, P, rand, ctx);
//验证点C1是否在椭圆曲线上
EC_POINT_is_on_curve(ec_group, c1, ctx);
马上开始
二、SM2加密算法(手动实现和使用GMSSL库实现)
PS:加解密中,加密时椭圆曲线点C1转换方式必须和解密时椭圆曲线点C1转换方式一致,否则无法解出C1。
1、手动实现
流程

image.png
算法:

1、产生随机数k, k的值从1到n-1;

BIGNUM *n,*k;
n = BN_new();
k = BN_new();
EC_GROUP_get_order(ec_group, n, ctx);
do {BN_rand_range(k,n);
} while (BN_is_zero(k));

2、计算椭圆曲线点C1=[k]G=(x1,y1), 将C1使用EC_POINT_point2oct转换成比特串;

//获取基点G
const EC_POINT *G = EC_GROUP_get0_generator(ec_group);
EC_POINT *c1 = NULL;
c1 = EC_POINT_new(ec_group);
unsigned char c1bin[65];
unsigned long c1binlen = 65;
EC_POINT_mul(ec_group, c1, NULL, G, k, ctx);
EC_POINT_point2oct(ec_group, c1, POINT_CONVERSION_UNCOMPRESSED, c1bin, c1binlen, ctx);

3、 验证公钥PB, 计算S=[h] PB,如果S是无穷远点,出错退出;

EC_POINT_is_on_curve(ec_group, PB, ctx);
EC_POINT_is_at_infinity(ec_group, s);

4、计算(x2,y2)=[k] PB

EC_POINT *tempPoint = EC_POINT_new(ec_group);
BIGNUM *x2 = BN_new();
BIGNUM *y2 = BN_new();
EC_POINT_mul(ec_group, tempPoint, NULL, pb, k, ctx);
EC_POINT_get_affine_coordinates_GFp(ec_group,tempPoint, x2, y2, ctx);

5、计算t=KDF(x2||y2, klen), KDF是密钥派生函数,klen是明文长度。

unsigned char x2y2[64] = {0};
unsigned long x2y2len = 0;
//x2||y2
x2y2len += BN_bn2bin(x2, x2y2);
x2y2len += BN_bn2bin(y2, &x2y2[32]);
unsigned char t[klen];
unsigned long tlen = klen;
kdf(EVP_sm3(), x2y2, sizeof(x2y2), t, &tlen);

//kdf方法
void *kdf(const EVP_MD *md, const void *in, size_t inlen,
void *out, size_t *outlen)
{
EVP_MD_CTX ctx;
uint32_t counter = 1;
uint32_t counter_be;
unsigned char dgst[EVP_MAX_MD_SIZE];
unsigned int dgstlen;
unsigned char *pout = out;
size_t rlen = *outlen;
size_t len;

EVP_MD_CTX_init(&ctx);while (rlen > 0) {counter_be = cpu_to_be32(counter);counter++;EVP_DigestInit(&ctx, md);EVP_DigestUpdate(&ctx, in, inlen);EVP_DigestUpdate(&ctx, &counter_be, sizeof(counter_be));EVP_DigestFinal(&ctx, dgst, &dgstlen);len = dgstlen <= rlen ? dgstlen : rlen;memcpy(pout, dgst, len);rlen -= len;pout += len;
}EVP_MD_CTX_cleanup(&ctx);
return out;

}
6、计算C2=M^t (此处^为异或)

unsigned char c2[tlen];
unsigned long c2len = 0;
for (int i = 0; i < tlen; i ++) {c2[i] = M[i] ^ t[i];c2len++;
}

7、 计算C3=Hash(x2||M||y2)

unsigned char c3[32];
unsigned long c3len = 32;
unsigned char tempC3[x2y2len+klen];
BN_bn2bin(x2, tempC3);
BN_bn2bin(y2, &tempC3[32+klen]);
memcpy(&tempC3[32], M, klen);
sm3(tempC3, x2y2len+klen, c3);

8、 输出密文C=C1||C3||C2。

unsigned char c[c1binlen + c2len + c3len];
unsigned long clen = c1binlen + c2len + c3len;
memcpy(c, c1bin, c1binlen);
memcpy(&c[c1binlen], c3, c3len);
memcpy(&c[c1binlen+c3len], c2, c2len);

注:密文分为C1,C2,C3,三部分,C1长度是65字节(具体根据转换方式),C2是明文的长度,C3是32字节(Hash使用sm3)。
注:C1 || C2 || C3 的意思就是拼在一起,而不是做什么或运算

根据国密推荐的SM2椭圆曲线公钥密码算法,首先产生随机数计算出曲线点C1,2个32byte的BIGNUM大数,即为SM2加密结果的第1部分(C1)。第2部分则是真正的密文,是对明文的加密结果,长度和明文一样(C2)。第3部分是杂凑值,用来效验数据(C3)。按国密推荐的256位椭圆曲线,明文加密结果比原长度会大97byte(C1使用EC_POINT_point2oct转换)。
注:通过密钥派生函数计算,才能进行第6步的按位异或计算。
2、使用GMSSL库实现
基于GmSSL 1.2.2 (OpenSSL 1.0.2d)
/**
修复BN_bn2bin函数结果不为32的情况(高位补0)
@param sourceBn 源BIGNUM
@param out 输出
@return 返回长度
*/
int fixBn2Bin(BIGNUM sourceBn,unsigned char out){
unsigned char tempBin[32] = {0};
int tempLen = BN_bn2bin(sourceBn, tempBin);
if (tempLen != 32) {
memset(out, 0, 32 - tempLen);
}
memcpy(&out[32-tempLen], tempBin, tempLen);
return 32;
}
#define RV_OK 0x00000000 //success
#define RV_EncErr 0x01000010 //encrypt error
/

SM2加密 使用国密GMSSL库

@param P 公钥
@param encryptData 需要加密的数据
@param outData 输出加密后的数据
@param outDataLen 输出加密后的数据长度
@return 0成功/其它失败
*/
int sm2EncryptByGMSSL(EC_POINT *P,unsigned char *encryptData,unsigned long encryptDataLen,unsigned char *outData,unsigned long *outDataLen){
int resultCode = RV_OK;
//变量
EC_KEY *ec_key = EC_KEY_new_by_curve_name(NID_sm2p256v1);
EC_KEY_set_public_key(ec_key, P);
const EC_GROUP *ec_group = EC_KEY_get0_group(ec_key);

BN_CTX *ctx = BN_CTX_new();
SM2_CIPHERTEXT_VALUE *cv = NULL;
SM2_ENC_PARAMS params;//c1
BIGNUM *x = NULL;
BIGNUM *y = NULL;
unsigned char *c1Buf = NULL;
unsigned long c1Len = 0;//开始加密(使用GMSSL的方法)
SM2_ENC_PARAMS_init_with_recommended(&params);
if (!(cv = SM2_do_encrypt(&params, encryptData, encryptDataLen, ec_key))) {resultCode = RV_EncErr;goto end;
}
OPENSSL_assert(cv);
//C1
//确定c1所需空间
if (!(c1Len = EC_POINT_point2oct(ec_group, cv->ephem_point,params.point_form, NULL, 0, ctx))) {resultCode = RV_EncErr;goto end;
}
//创建c1所需空间
c1Buf = malloc(c1Len);
if (!(c1Len = EC_POINT_point2oct(ec_group, cv->ephem_point,params.point_form, c1Buf, c1Len, ctx))) {resultCode = RV_EncErr;goto end;
}
memcpy(outData, c1Buf, c1Len);
//获取C1方法二

// unsigned char c1Bin[64] = {0};
// x = BN_new();
// y = BN_new();
// EC_POINT_get_affine_coordinates_GFp(ec_group,cv->ephem_point, x, y, ctx);
//
// fixBn2BinLen(x,c1Bin);
// fixBn2BinLen(y,&c1Bin[32]);
// //拼接C1
// memcpy(outData, c1Bin, 64);

//后续拼接
//拼接C3
memcpy(outData+c1Len, cv -> mactag, cv->mactag_size);
//拼接C2
memcpy(outData+c1Len+cv->mactag_size, cv ->ciphertext, cv->ciphertext_size);
*outDataLen = c1Len + cv->mactag_size + cv->ciphertext_size;

end:
EC_KEY_free(ec_key);
BN_CTX_free(ctx);
if(cv != NULL) SM2_CIPHERTEXT_VALUE_free(cv);
if(x != NULL) BN_free(x);
if(y != NULL) BN_free(y);
if (c1Buf != NULL) {
free(c1Buf);
}
return resultCode;
}
基于GmSSL 2.5.4 - OpenSSL 1.1.0d 3 Sep 2019
/**
使用gmssl SM2加密

@param inData 需要加密的数据
@param inDataLen 需要加密的数据长度
@param pubKey 公钥(point2oct)
@param pubKeyLen 公钥长度
@param encryptData 加密后的数据
@return 0:成功/非0:失败
*/
int sm2EncryptByGMSSL(
unsigned char *inData,
unsigned long inDataLen,
unsigned char *pubKey,
unsigned long pubKeyLen,
SM2CiphertextValue **encryptData)
{
int resultCode = RV_OK;
//公钥
EC_KEY *ec_key = NULL;
//公钥
EC_POINT *publicKey = NULL;
//ec_group
EC_GROUP *ec_group = NULL;
//ctx
BN_CTX *ctx = NULL;

//判断输入参数是否为空
if (inData == NULL || inDataLen == 0 || pubKey == NULL || pubKeyLen == 0 || encryptData == NULL) {resultCode = RV_InputErr;goto err;
}//恢复公钥
ctx = BN_CTX_new();
ec_group = EC_GROUP_new_by_curve_name(NID_sm2p256v1);
publicKey = EC_POINT_new(ec_group);
int mark = EC_POINT_oct2point(ec_group, publicKey, pubKey, pubKeyLen, ctx);
if (mark != 1) {resultCode = RV_EncErr;goto err;
}//初始化数据
ec_key = EC_KEY_new_by_curve_name(NID_sm2p256v1);
EC_KEY_set_public_key(ec_key, publicKey);
ec_group = EC_GROUP_new_by_curve_name(NID_sm2p256v1);
ctx = BN_CTX_new();//开始加密(使用GMSSL的方法)
if (!(*encryptData = SM2_do_encrypt(EVP_sm3(), inData, inDataLen, ec_key))) {resultCode = RV_EncErr;goto err;
}

err:
if (ec_key != NULL) {
EC_KEY_free(ec_key);
}
if (ec_group != NULL) {
EC_GROUP_free(ec_group);
}
if (ctx != NULL) {
BN_CTX_free(ctx);
}
if (publicKey != NULL) {
EC_POINT_free(publicKey);
}
return resultCode;
}
三、SM2解密算法
1、手动实现
流程

image.png
算法:
1、从密文比特串C=C1||C3||C2中取出C1, 将C1转换成椭圆曲线上的点;

#define POINT_BIN_LENGTH 65unsigned char c1Bin[POINT_BIN_LENGTH];
unsigned long c1Binlen = POINT_BIN_LENGTH;
memcpy(c1Bin, encrypt(密文), POINT_BIN_LENGTH);
EC_POINT  *c1 = EC_POINT_new(ec_group);
EC_POINT_oct2point(ec_group, c1, c1Bin, c1Binlen, ctx);

2、验证C1, 计算S=[h] C1,如果S是无穷远点,出错退出;

int resultCode = EC_POINT_is_on_curve(ec_group, c1, ctx);
if (resultCode) {printf("验证C1成功\n");
}else{printf("验证C1失败\n");
}

3、计算(x2,y2)=[dB] C1

EC_POINT *dC1 = EC_POINT_new(ec_group);
EC_POINT_mul(ec_group, dC1, NULL, c1, d, ctx);
BIGNUM *x2 = BN_new();
BIGNUM *y2 = BN_new();
EC_POINT_get_affine_coordinates_GFp(ec_group,dC1, x2, y2, ctx);

4、计算t=KDF(x2||y2, klen), KDF是密钥派生函数,如果t是全0比特串,出错退出。

unsigned char x2y2[64] = {0};
unsigned long x2y2len = 0;
//x2||y2
x2y2len += BN_bn2bin(x2, x2y2);
x2y2len += BN_bn2bin(y2, &x2y2[32]);
//原文长度klen
unsigned long klen = encryptLen - (c1Binlen+c3len);unsigned char t[klen];
unsigned long tlen = klen;
sm3_kdf1(EVP_sm3(), x2y2, sizeof(x2y2), t, &tlen);

5、从C=C1||C3||C2中取出C2,计算M’= C2+t。

unsigned char c2[tlen];
memcpy(c2, encrypt+c1Binlen+c3len, tlen);//原文
unsigned char M[tlen+1];
unsigned long Mlen = 0;
for (int i = 0; i < tlen; i ++) {M[i] = c2[i] ^ t[i];Mlen++;
}
M[tlen] = '\0';
printf("M'-->%s\n",M);

6、计算u=Hash(x2||M’||y2),比较u是否与C3相等,不相等则退出。
7、输出明文M’。

2、使用GMSSL库实现
基于GmSSL 1.2.2 (OpenSSL 1.0.2d)

#define RV_DecErr 0x01000011 //decrypt error

/**
使用GMSSL解密

@param d 私钥
@param encrypt 加密数据
@param encryptLen 加密数据长度
@param decryptData 解密数据
@param decryptDataLen 解密数据长度
@return 0成功/其它失败
*/
int sm2DecryptByGMSSL(BIGNUM *d,unsigned char *encrypt,unsigned long encryptLen,unsigned char *decryptData,unsigned long *decryptDataLen)
{
int resultCode = 0;

BN_CTX *ctx = NULL;
SM2_CIPHERTEXT_VALUE *cv = NULL;
//C1+C3大小(不包含ciphertext_size,即C2)
int cvLen = 0;
SM2_ENC_PARAMS params;EC_GROUP *ec_group = NULL;
EC_KEY *ec_key = NULL;
//bn_prime
BIGNUM *prime = NULL;
//c1长度
int c1Len = 0;//初始化
ctx = BN_CTX_new();
SM2_ENC_PARAMS_init_with_recommended(&params);
ec_group = EC_GROUP_new_by_curve_name(NID_sm2p256v1);
ec_key = EC_KEY_new();
EC_KEY_set_group(ec_key, ec_group);
EC_KEY_set_private_key(ec_key, d);
prime = BN_new();
BN_hex2bn(&prime,_n);//获取C1(C = C1||C3||C2)-- C为加密数据encryptData
if (!(cvLen = SM2_CIPHERTEXT_VALUE_size(ec_group, &params, 0))) {resultCode = RV_DecErr;goto end;
}if (!(cv = OPENSSL_malloc(sizeof(SM2_CIPHERTEXT_VALUE)))) {resultCode = RV_DecErr;goto end;
}cv->ephem_point = EC_POINT_new(ec_group);
cv->ciphertext_size = encryptLen - cvLen;
cv->ciphertext = OPENSSL_malloc(cv->ciphertext_size);
if (!cv->ephem_point || !cv->ciphertext) {resultCode = RV_DecErr;goto end;
}
int macTagSize = params.mactag_size<0 ? EVP_MD_size(params.mac_md) : params.mactag_size;
c1Len = cvLen - macTagSize;if (!EC_POINT_oct2point(ec_group, cv->ephem_point, encrypt, c1Len, ctx)) {resultCode = RV_DecErr;goto end;
}cv->mactag_size = macTagSize;
if (cv->mactag_size > 0) {memcpy(cv->mactag, encrypt + c1Len, cv->mactag_size);
}memcpy(cv->ciphertext, encrypt + c1Len + cv->mactag_size, cv->ciphertext_size);if (!SM2_do_decrypt(&params, cv, decryptData, decryptDataLen, ec_key))
{resultCode = RV_DecErr;goto end;
}
*decryptDataLen = cv->ciphertext_size;

end:
if (ctx != NULL) {
BN_CTX_free(ctx);
}
if (cv != NULL) {
SM2_CIPHERTEXT_VALUE_free(cv);
}
if (ec_group != NULL) {
EC_GROUP_free(ec_group);
}
if (ec_key != NULL) {
EC_KEY_free(ec_key);
}
if (prime != NULL) {
BN_free(prime);
}
return resultCode;
}
基于GmSSL 2.5.4 - OpenSSL 1.1.0d 3 Sep 2019
/**
使用GMSSL解密

@param cv 加密数据
@param d 私钥
@param decryptData 解密数据
@param decryptDataLen 解密数据长度
@return 0成功/其它失败
*/
int sm2DecryptByGMSSL(SM2CiphertextValue *cv,BIGNUM *d,unsigned char *decryptData,unsigned long *decryptDataLen)
{
int resultCode = 0;
BN_CTX *ctx = NULL;

EC_GROUP *ec_group = NULL;
EC_KEY *ec_key = NULL;
//bn_prime
BIGNUM *prime = NULL;//判断输入参数是否为空
if (cv == NULL || d == NULL || decryptData == NULL) {resultCode = RV_InputErr;goto end;
}//初始化
ctx = BN_CTX_new();
ec_group = EC_GROUP_new_by_curve_name(NID_sm2p256v1);
//设置私钥
ec_key = EC_KEY_new();
EC_KEY_set_group(ec_key, ec_group);
EC_KEY_set_private_key(ec_key, d);
//prime
prime = BN_new();
BN_hex2bn(&prime,SM2_n);//C = C1||C3||C2 -- C为加密数据encryptData
if (!SM2_do_decrypt(EVP_sm3(), cv, decryptData, decryptDataLen, ec_key))
{resultCode = RV_DecErr;goto end;
}
printf("\n Decrypt Data-->%s\n",decryptData);

end:
if (ctx != NULL) {
BN_CTX_free(ctx);
}
if (ec_group != NULL) {
EC_GROUP_free(ec_group);
}
if (ec_key != NULL) {
EC_KEY_free(ec_key);
}
if (prime != NULL) {
BN_free(prime);
}
if (d != NULL) {
BN_free(d);
}
return resultCode;
}
四、结论
想要成功解密出原文,必须是公钥PB和私钥dB是匹配的,即满足PB=[dB]G,原文经过两次与同一比特串的异或计算,结果还是原文。

作者:Devil_Chen
链接:https://www.jianshu.com/p/24dd4d79630d
来源:简书

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

相关文章

  1. 1008 数组元素循环右移问题

    1008 数组元素循环右移问题解题代码测试结果问题整理 解题代码 #include<cstdio> int gcd(int a, int b) {return !b ? a : gcd(b, a%b); } int main() {int n, m, a[100], temp, pos, next;scanf("%d%d", &n, &m);m %= n;for (int i = 0; i < n; …...

    2024/5/4 4:18:44
  2. 动态权限shouldShowRequestPermissionRationale详解

    Android6.0动态权限shouldShowRequestPermissionRationale的含义...

    2024/5/4 3:52:06
  3. 我在阿里做了5年招聘,给求职者10条建议

    前阵子,我和阿里的薪酬福利专家M同学聊了一下午,M同学做了9年薪酬,和我们吐槽了很多薪酬方面的现象,也道出了少有人关注的薪酬逻辑和常识。这一次,我又找了一位阿里技术岗位的招聘专家T同学,从他的视角中,我们来看一下金三银四的招聘旺季下,10条求职的黄金规律。可以说…...

    2024/5/2 10:40:19
  4. 日期格式互相转换

    1. 10位时间戳 转换成 2020-11-11 Vue.prototype.timestampToTime = function(timestamp){var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000var Y = date.getFullYear();var M =(date.getMonth() + 1 < 10? "0" + (da…...

    2024/4/24 14:13:16
  5. 【转载】简单明了的阐述签名、数字证书的作用

    1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥…...

    2024/4/24 14:13:15
  6. Python的多继承问题-MRO和C3算法

    Python 中的方法解析顺序(Method Resolution Order, MRO)定义了多继承存在时 Python 解释器查找函数解析的正确方式。当 Python 版本从 2.2 发展到 2.3 再到现在的 Python 3,MRO算法也随之发生了相应的变化。这种变化在很多时候影响了我们使用不同版本 Python 编程的过程。大…...

    2024/4/24 14:13:14
  7. 第四章 随机变量的数据特征 4.1 数学期望

    第四章 随机变量的数据特征 4.1 数学期望 文章目录第四章 随机变量的数据特征 4.1 数学期望离散型随机变量的期望连续型随机变量的期望数学期望的性质 离散型随机变量的期望简单来说就是把每个xxx与其对应的概率相乘之后再累加。(加权平均)某函数的期望:再来看二维的:连续型…...

    2024/4/24 14:13:13
  8. python接口自动化脚本调试遇到的坑坑

    1、测试数据为json格式,数据类型为列表类型,读出来是字符串,要使用eval()函数去掉字符串外衣,再使用脱了外衣的覆盖给之前的数据,请求成功2、动态传输数据过程中,读取列表数据后想要重新转换成单独的列表,如,原始列表为list[1,2,3,4],list[0]=1,但是想要这种效果[1],…...

    2024/4/30 16:47:05
  9. sklearn.metrics中报错multiclass-multioutput format is not supported问题解决

    多标签问题是单标签问题的拓展,比单标签问题解决起来要棘手的多 报错出现multiclass-multioutput format is not supported 很有可能是你的多标签的解释变量(是一个0、1矩阵)里面有非0非1 的数字比如: [[0 1 0 … 0 0 0] [0 1 0 … 0 0 0] [1 1 0 … 0 2 0] [0 1 0 … 0 1 …...

    2024/4/24 14:13:11
  10. Java String 快速初始化

    如果现在希望初始化一个String,里边由10个0组成,如何快速初始化?1. 循环拼接:String stringDemo = new String();for (int i = 0; i < 10; i++) {stringDemo += "0";}这种方式最差,效率最低,非常耗时。2. 利用StringBuilderStringBuilder sbDemo = new Stri…...

    2024/4/24 14:13:10
  11. php验证码怎么才能不区分大小写,自动转换小写?

    用到的php函数strtolower 对存在SESSION内的验证码使用strtolower函数将内容转为小写; <?php //创建背景画布 $img_w = 100; /*宽*/ $img_h = 30; */ $img = imagecreatetruecolor($img_w,$img_h); $bg_color = imagecolorallocate($img,0xcc,0xcc,0xcc); imagefill($img,…...

    2024/4/24 14:13:09
  12. 【剑指offer】37.数字在排序数组中出现的次数

    问题描述 统计一个数字在排序数组中出现的次数。 思路 暴力肯定没offer,虽然暴力只需要O(n)。 这题能做出来O(nlogn)才有offer. 有序数组,还想不到二分撞死算了。二分的变种应用。用二分来求边界。 方法一 class Solution {public int GetNumberOfK(int [] array , int k) {i…...

    2024/4/27 16:03:13
  13. 中国大学MOOC·北京理工大学·大数据基础与应用——第四周单元测试答案

    以下答案仅供参考,如有错误欢迎指正~单选(2分)Python代码:r = 5 + "5"的执行结果是 A.5 B.报错 C.55 D.10单选(2分)1. m = [1, 2, [3]]2. n = m[:] 3. n[1] = 4 4. n[2][0] = 5 5. print(m)代码的执行结果是? A.[1,2,[5]] B.[1,2,[3]] C.[1,4…...

    2024/4/24 14:13:07
  14. 48 个免费的设计素材网站收好,以后不怕没资源用!

    还在为素材图抓狂?苦于找不到设计思路?这些素材网站能为你提供更多设计灵感,不只是图片,我们还帮你搜集了提供免费音频、视频、字体、配色等素材的网站。 图片库 PNG搜索网 https://pngss.com 为设计师提供各类好看的png图片和素材、背景图片、背景素材、海报背景、banner背…...

    2024/4/24 14:13:06
  15. 【idea】idea无法打开,常规报错的原因和解决方法

    原因一:老版本的idea没有卸载干净就安装了新版,那么,请删除旧版所有的安装数据在开始。原因二:问题描述和现象:idea启动报错。以如下开头,很长一大堆,注意看,crack这个词,很容易想到的情况就是,要么使用的JetbrainsCrack-xx-release-enc(绿色使用)的版本不对,要么就是…...

    2024/4/24 14:13:05
  16. 从零开始搭建物联网平台(一)前言

    我是一名全栈攻城狮,从步入这个江湖三年以来,感觉风风雨雨,有些梦破碎了,有些梦成真了,有些梦也渐行渐远了。曾几何时的挥斥方遒,如今也渐渐被社会的毒打所圆润。2020年这个世界或许很乱,自然灾害、全球疫情、局部战争……但是身为一枚程序,其实我都漠不关心,带上耳机…...

    2024/4/15 3:21:49
  17. BootStrap安装--乐字节大数据

    BootStrap 主要内容BootStrap的安装和使用 BootStrap 介绍 ​ 官网:http://getbootstrap.com/ ​ 中文网:http://www.bootcss.com/ ​ Bootstrap 是一套现成的 CSS 样式集合(做得还是很友好的)。是两个推特的员工干出来的。 ​ Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架…...

    2024/4/15 3:21:51
  18. Spring Boot 实践之十二 Spring Boot任务管理((无/有)返回值异步任务调用/定时任务/发送(纯文本/带附件/模板)邮件)

    注:实践内容参考人民邮电出版社的教程《 Spring Boot企业级开发教程》作者:黑马程序员,上传本文仅以实践过程以供大家共同学习解决问题,如有侵权不当行为,请告知后,我会更正或删除。 Spring Boot任务管理1 异步任务1.1 无返回值异步任务调用 这里使用Spring Boot框架,结…...

    2024/4/19 7:10:25
  19. 关于张量的一点点小思考

    做毕设时被第一个张量的论文看的目瞪口呆,过了三四个月了,今天又重新捡起来看了看CP分解卷积核的项目代码,忽然有点感想。拿磨了我好久的张量神经网络为例,神经网络想必不陌生,不过神经网络要求的输入通常是二维的(这句话需要查证),可能有时候是图片是三维的。不过我们…...

    2024/4/15 3:21:45
  20. CentOS6 安装 MySQL5.7

    CentOS 6.10 编译安装 Mysql 5.7.23 X64 1、添加用户组和用户添加用户组和用户 groupadd mysql添加用户 useradd -g mysql -s /bin/nologin mysql -Mnologin选项代表这是启动服务使用的账号,不登录 -M 不创建home目录2、确认selinux状态是否为disabledvi /etc/selinux/config3…...

    2024/4/15 3:21:45

最新文章

  1. MySQL常见问题解决和自动化安装脚本

    常见问题 MySQL密码正确但无法登录的情况 这种情况一般都是因为缓存&#xff0c;使用mysql -u root -p123456直到成功登陆为止&#xff0c;并且进入之后重新修改密码&#xff0c;多次重复修改密码的命令并且再一次清除缓存后退出。 ALTER USER rootlocalhost IDENTIFIED WIT…...

    2024/5/4 5:11:56
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. Go语言map、slice、channel底层实现(go面试)

    slice 切片是一个引用类型&#xff0c;其底层实现是一个结构体&#xff0c;包含以下字段&#xff1a; ptr&#xff1a;一个指向底层数组的指针&#xff0c;指针指向数组的第一个元素。 len&#xff1a;切片当前包含的元素数量。 cap&#xff1a;切片的容量&#xff0c;即底层…...

    2024/4/29 18:34:36
  4. [Spring Cloud] gateway全局异常捕捉统一返回值

    文章目录 处理转发失败的情况全局参数同一返回格式操作消息对象AjaxResult返回值状态描述对象AjaxStatus返回值枚举接口层StatusCode 全局异常处理器自定义通用异常定一个自定义异常覆盖默认的异常处理自定义异常处理工具 在上一篇章时我们有了一个简单的gateway网关 [Spring C…...

    2024/5/3 22:05:18
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/5/3 23:10:03
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

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

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

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

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

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

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

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

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

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

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

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

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

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

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

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

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/4/30 9:42:49
  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