各种加密算法内部原理实现
众所周知数据对于一个公司来说,非常重要,一旦数据泄露,公司将面临非常大的威胁,因此对数据加密非常有必要,保证数据的安全性。
1 加密算法的基本原理
加密算法目前主流分为对称加密,不对称加密,散列加密。
1.1 对称加密
对称加密是指加密和解密使用相同密钥的加密算法,常见的对称加密算法有DES,DES3,AES加密算法。对称加密由于其加解密速度快,常被用于大量的数据加密场景,还有对传输效率要求高的场景如VPN之间的传输,但是由于其密匙不方便保存,所以适合于内部系统。
1.1.1 DES加密算法
DES加密算法是一种分组加密算法,通过将输入的明文按64位一组,进行分组加,加密过程分为初始置换明文,分组明文,生成子密匙,密匙与明文加密,经过S盒替换,P盒替换,置换后的密文与原32位明文加密。
初始置换:初始置换是只将输入的64位明文,按照一个置换表进行置换位置,具体置换规则:初始数据里面的64是1号位,置换表的1则到了第40这个位置,那么64置换之后就到了第40这个位置、63是原来的2号位,在置换表里面是第8号位,所以63经过置换表则到了第8位,其他的位置执行同样的操作,具体操作如表1.1,表1.2,表1.3:
表1.1 初始数据表
64 | 63 | 62 | 61 | 60 | 59 | 58 | 57 |
26 | 55 | 54 | 53 | 52 | 51 | 50 | 49 |
48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 |
40 | 39 | 38 | 37 | 36 | 35 | 34 | 34 |
32 | 31 | 30 | 29 | 28 | 27 | 26 | 25 |
24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 |
16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 |
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
表1.2 置换表
58 | 50 | 42 | 34 | 26 | 18 | 10 | 2 |
60 | 52 | 44 | 36 | 28 | 20 | 12 | 4 |
62 | 54 | 46 | 38 | 30 | 22 | 14 | 6 |
64 | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
57 | 49 | 41 | 33 | 25 | 17 | 9 | 1 |
59 | 51 | 43 | 35 | 27 | 19 | 11 | 3 |
61 | 53 | 45 | 37 | 29 | 21 | 13 | 5 |
63 | 55 | 47 | 39 | 31 | 23 | 15 | 7 |
表1.3 置换后数据
7 | 15 | 23 | 31 | 39 | 47 | 55 | 63 |
62 | 54 | 46 | 38 | 30 | 22 | 14 | 6 |
3 | 11 | 18 | 27 | 35 | 43 | 51 | 59 |
1 | 9 | 17 | 25 | 33 | 41 | 49 | 57 |
8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 |
6 | 14 | 22 | 30 | 38 | 46 | 54 | 62 |
4 | 12 | 20 | 28 | 36 | 44 | 52 | 60 |
2 | 10 | 18 | 26 | 34 | 42 | 50 | 58 |
拿到置换后的数据后,将明文分组左右两组。将初始置换之后的数据按前32位为左边L0,后32位为右边R0。具体分组如表1.4,1.5.
表1.4 左边L0
7 | 15 | 23 | 31 | 39 | 47 | 55 | 63 |
62 | 54 | 46 | 38 | 30 | 22 | 14 | 6 |
3 | 11 | 18 | 27 | 35 | 43 | 51 | 59 |
1 | 9 | 17 | 25 | 33 | 41 | 49 | 57 |
表1.5 右边R0
8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 |
6 | 14 | 22 | 30 | 38 | 46 | 54 | 62 |
4 | 12 | 20 | 28 | 36 | 44 | 52 | 60 |
2 | 10 | 18 | 26 | 34 | 42 | 50 | 58 |
将一个主密匙生成16个子密匙,每一次操作用一个密匙。用户设置的一个64位key,我们将其忽略第8,16,24,32,40,48,56,64奇偶检验位。得到一个56位key,将其进行移位操作,再进行压缩置换就得到具体加密的KEY。具体操作如表1.6 所示
表1.6 移位操作是移位表
移位表 | ||||||||||||||||
轮询次数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
移动位数 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
从表中我们可以知道,第一轮是左移一位,第三轮是左移两位,后面一堆位数安装表1.6所示即可。具体移位如表1.7,表1.8
表1.7 主密匙表
57 | 49 | 41 | 33 | 25 | 17 | 9 | 1 |
58 | 50 | 42 | 34 | 26 | 18 | 10 | 2 |
59 | 51 | 43 | 35 | 27 | 19 | 11 | 3 |
60 | 52 | 44 | 36 | 63 | 55 | 47 | 39 |
31 | 23 | 15 | 7 | 62 | 54 | 46 | 38 |
30 | 22 | 14 | 6 | 61 | 53 | 45 | 37 |
29 | 21 | 13 | 5 | 28 | 20 | 12 | 4 |
表1.8 左移一位后的密匙
49 | 41 | 33 | 25 | 17 | 9 | 1 | 57 |
50 | 42 | 34 | 26 | 18 | 10 | 2 | 58 |
51 | 43 | 35 | 27 | 19 | 11 | 3 | 59 |
52 | 44 | 36 | 63 | 55 | 47 | 39 | 60 |
23 | 15 | 7 | 62 | 54 | 46 | 38 | 31 |
22 | 14 | 6 | 61 | 53 | 45 | 37 | 30 |
21 | 13 | 5 | 28 | 20 | 12 | 4 | 29 |
移位之后进行压缩置换,将56位的密匙进行48位的置换表置换,得到48位密匙舍去8位,如表1.9,1.10,表1.11所示
表1.9 密匙
49 | 41 | 33 | 25 | 17 | 9 | 1 |
57 | 50 | 42 | 34 | 26 | 18 | 10 |
2 | 58 | 51 | 43 | 35 | 27 | 19 |
11 | 3 | 59 | 52 | 44 | 36 | 63 |
55 | 47 | 39 | 60 | 23 | 15 | 7 |
62 | 54 | 46 | 38 | 31 | 22 | 14 |
6 | 61 | 53 | 45 | 37 | 30 | 21 |
13 | 5 | 28 | 20 | 12 | 4 | 29 |
表1.10 48位置换表
14 | 17 | 11 | 24 | 1 | 5 |
3 | 28 | 15 | 6 | 21 | 10 |
23 | 19 | 12 | 4 | 26 | 8 |
16 | 7 | 27 | 20 | 13 | 2 |
41 | 52 | 31 | 37 | 47 | 55 |
30 | 40 | 51 | 45 | 33 | 48 |
44 | 49 | 39 | 56 | 34 | 53 |
46 | 42 | 50 | 36 | 29 | 32 |
表1.11 置换之后得到的数据KEY1
1 | 15 | 34 | 60 | 9 | 17 |
33 | 19 | 2 | 9 | 10 | 42 |
3 | 35 | 26 | 25 | 44 | 58 |
59 | 57 | 36 | 27 | 18 | 41 |
22 | 28 | 39 | 54 | 37 | 4 |
47 | 30 | 5 | 53 | 23 | 22 |
61 | 14 | 38 | 21 | 15 | 12 |
45 | 7 | 13 | 62 | 55 | 31 |
得到48位密匙后,因为明文分组是32位,所以对明文进行扩充置换成48位,以下操作是对明文进行扩充置换,对于扩充后的明文我们可以发现,他中间四列是原来的明文,并没有修改,增加的第一列是原明文的最后一列从倒数排列,新添加的第后一列,则是第一列的倒数。具体如表1.12,表1.13所示。
表1.12 左边明文L0
7 | 15 | 23 | 31 |
39 | 47 | 55 | 63 |
5 | 13 | 21 | 29 |
37 | 45 | 53 | 61 |
3 | 11 | 18 | 27 |
35 | 43 | 51 | 59 |
1 | 9 | 17 | 25 |
33 | 41 | 49 | 57 |
表1.13 扩充之后的明文L0
57 | 7 | 15 | 23 | 31 | 39 |
31 | 39 | 47 | 55 | 63 | 5 |
63 | 5 | 13 | 21 | 29 | 37 |
29 | 37 | 45 | 53 | 61 | 3 |
61 | 3 | 11 | 18 | 27 | 35 |
27 | 35 | 43 | 51 | 59 | 1 |
59 | 1 | 9 | 17 | 25 | 33 |
25 | 33 | 41 | 49 | 57 | 7 |
现在得到48位密匙和48位数据,就可以进行异或加密操作了。异或操作后面拿到的数据是加密后的数据,我们对此数据进行S盒替换和P盒替换。
S盒替换是将48位的数,分组8组,一组6位,进入S盒,一个S盒6位输入4位输出,及48位出入,进入8个S盒输出只有32位。具体替换如表1.14。
表1.14 S0盒:
行\列 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
0 | 14 | 4 | 13 | 1 | 2 | 15 | 11 | 8 | 3 | 10 | 6 | 12 | 5 | 9 | 0 | 7 |
1 | 0 | 15 | 7 | 4 | 14 | 2 | 13 | 1 | 10 | 6 | 12 | 11 | 9 | 5 | 3 | 8 |
2 | 4 | 1 | 14 | 8 | 13 | 6 | 2 | 11 | 15 | 12 | 9 | 7 | 3 | 10 | 5 | 0 |
3 | 15 | 12 | 8 | 2 | 4 | 9 | 1 | 7 | 5 | 11 | 3 | 14 | 10 | 0 | 6 | 13 |
例如:输入为101110 那么他的第一位和最后一位组合10转换位10进制则为2及第2行,中间四为0111转为10进制及为7及第7列,所以第2行,第7列及为2转为2进制及为0010,所以输入101110,输出0010,S盒替换完成。经过S盒换以后就要经过P盒替换了,具体替换过程如下表1.15,1.16,1.17所示
表1.15 S盒替换后的数据
7 | 15 | 23 | 31 | 39 | 47 | 55 | 63 |
5 | 13 | 21 | 29 | 37 | 45 | 53 | 61 |
3 | 11 | 18 | 27 | 35 | 43 | 51 | 59 |
1 | 9 | 17 | 25 | 33 | 41 | 49 | 57 |
表1.16 P盒
16 | 7 | 20 | 21 | 29 | 12 | 28 | 17 |
1 | 15 | 23 | 26 | 5 | 18 | 31 | 10 |
2 | 8 | 24 | 14 | 32 | 27 | 3 | 9 |
19 | 13 | 30 | 6 | 22 | 11 | 4 | 25 |
表1.17 P盒置换后的数据
61 | 55 | 27 | 35 | 33 | 29 | 25 | 3 |
7 | 3 | 51 | 9 | 39 | 11 | 49 | 13 |
15 | 63 | 59 | 45 | 57 | 17 | 23 | 5 |
18 | 53 | 41 | 47 | 43 | 21 | 31 | 1 |
现在我们已经拿到P盒置换后的数据了,再跟我们第一次分组生成的32位左边的数据进行异或操作,这次拿到的数据就是我们第一轮加密后的数据,再进行左右互换,进行同样的加密操作,连续操作16次,加密就算完成了。
加密完成了,接下来就是解密了,解密和加密是同样的操作,输入64位明文,进行初始置换,将KEY倒着进行加密,密匙移位,加密是向左移,那么解密就是向右移,执行同样的操作就可以解密进行解密操作。
1.1.2 AES加密算法
AES加密算法是分组加密,每一组是16字节,是目前主流的高级加密算法。他的加密过程主要分为密匙轮询,字节替代,行移动,列混合,密匙加轮…….以上操作重复10次,就是第一次加密的数据
密匙加轮:用密匙与原文进行异或操作,原文是128位,密文也是128位,首先将主密匙与原文进行异或操作,后面再用主密匙生成40位子密匙。密匙生成过程如下所示:
KEY = 3C A1 0B 21 57 F0 19 16 90 2E 13 80 AC C1 07 BD
初始密匙:
W[0]=3C A1 0B 21
W[1]=57 F0 19 16
w[2]=90 2E 13 80
w[3]=AC C1 07 BD
生成密匙算法:
1.如果i不是4的倍数,那么第i列用如下公式:
W[i]=W[i-4] XOR W[i-1] (XOR表示异或的意思,下同)
2.如果i是4的倍数,那么第i列用如下公式:
W[i]=W[i-4] XOR T(W[i-1])
解释一下T()函数:由三部分组成,字循环,字节替代,轮常量代替异或。
a.字循环:将1个字中的4个字节循环左移1个字节。即将输入字[a0, a1, a2, a3]变换成[a1,a2,a3,a0]。
b.字节代换:对字循环的结果使用S盒进行字节代换。
c.轮常量异或:将前两步的结果同轮常量进行异或。具体如表1.18所示
表1.18 轮询常量表
轮询数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
轮询常量 | 01 00 00 00
| 02 00 00 00
| 04 00 00 00
| 08 00 00 00
| 10 00 00 00
| 20 00 00 00
| 40 00 00 00
| 80 00 00 00
| 1B 00 00 00
| 36 00 00 00
|
例如:初始密匙
W[0]=3C A1 0B 21
W[1]=57 F0 19 16
w[2]=90 2E 13 80
w[3]=AC C1 07 BD
计算w[4],w[5],w[6],w[7]
求w[4]的时候,因为4是4的倍数,所以,我们先要求T(W[3])
W[3]= AC C1 07 BD
左移一位 得到 C1 07 BD AC
进入S和字节替换
进S盒替换时,例如替换C1,C则是行,1则是列,找到第C行第1列即可以找到替换的数字(16进制的数)S盒
C1在S盒中对应78,
07在S盒中对应C5
BD在S盒中对应7A
AC在S盒中对应 91
所以经过第二步S盒替换变成了78,C5,7A,91
(3).将78 C5 7A 91 XOR 01 00 00 00 = 79 C5 7A 91
所以计算密匙如下:
W[4]= W[0] XOR T(W[3] ) = 3C A1 0B 21 XOR 79 C5 7A 91 = 45 64 71 B0
W[5]= W[1] XOR W[4] = 57 F0 19 16 XOR 45 64 71 B0 = 12 94 68 A6
W[6]= W[2] XOR W[5] = 90 2E 13 80 XOR 12 94 68 A6 = 82 BA 7B 26
W[7]= W[3] XOR W[6] = AC C1 07 BD XOR 82 BA 7B 26 = 2E 7B 7C 9B
同样的方法计算其他密匙。
有了密匙,将明文与密匙异或运算,接下来进行字节替代。例如,假设我们明文与密匙加轮得到的数据是abcdefghijklmnop具体如表1.19,1.10,1.21所示
表1.19 轮询后的数据
a | b | c | D |
e | f | g | h |
i | j | k | l |
m | n | o | p |
表1.20 转化为16进制
0x61 | 0x62 | 0x63 | 0x64 |
0x65 | 0x66 | 0x67 | 0x68 |
0x69 | 0x6A | 0x6B | 0x6C |
0x6D | 0x6E | 0x6F | 0x70 |
表1.21 S盒替代之后的数据
0xD0 | 0xEF | 0xAA | 0xFB |
0x43 | 0x4D | 0x33 | 0x85 |
0x45 | 0XF9 | 0x02 | 0x7F |
0x50 | 0x3C | 0x9F | 0Xa8 |
S盒上就是密匙替换的S盒,(如果出来本就是16进制则不需要转换)将a转为16进制0x61则在S盒中找到第6行第1个数,这个数就是要替换的数,替换其他数也是同样的操作。
接下来就是行移动,列混合就是将每一列移动不同的位数,第一列不移动,第二列移动一位,第三列移动两位,第四列移动三位。具体一位如下表1.22,1.23:
表1.22 移位前的数据
0xD0 | 0xEF | 0xAA | 0xFB |
0x43 | 0x4D | 0x33 | 0x85 |
0x45 | 0XF9 | 0x02 | 0x7F |
0x50 | 0x3C | 0x9F | 0Xa8 |
表1.23 移位后的数据
0xD0 | 0xEF | 0xAA | 0xFB |
0x4D | 0x33 | 0x85 | 0x43 |
0x02 | 0x7F | 0x45 | 0XF9 |
0Xa8 | 0x50 | 0x3C | 0x9F |
行移动后就是列混合了,列混合就是将行移动后的矩阵乘一个固定矩阵。具体如下表1.24,1.25所示
表1.24 行移动后的数据
0xD0 | 0xEF | 0xAA | 0xFB |
0x4D | 0x33 | 0x85 | 0x43 |
0x02 | 0x7F | 0x45 | 0XF9 |
0Xa8 | 0x50 | 0x3C | 0x9F |
表1.25 先转10进制
208 | 239 | 170 | 251 |
77 | 51 | 133 | 67 |
2 | 127 | 69 | 249 |
171 | 91 | 60 | 159 |
转10进制进行与固定矩阵相乘
得到结果矩阵后,将其转为16进制,到此第一轮加密结束,后续只需将结果矩阵当成第2个KEY进行执行同样的加密操作。
解密操作和加密操作一样,用最后一组密匙对密文进行密匙轮询,再用逆S盒进行字节替代,行移动是向右移动,列混合是乘固定矩阵的逆矩阵,后面操作与前面操作一样,轮询10次即可解密回来。
AES加密的代码实现,由于代码过多,只列出主要加密,解密代码,具体代码如图
1.2 不对称加密
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙,进行加解密,一般使用公匙加密,私匙解密,常见的加密算法有RSA,ECC,DSA加密算法。不对称加密由于其加解密耗时长,常用作小量的数据加密。第三方机构常用私密加密生成证书(只有自己公密可以认证),客户端用公密认证证书的可靠性。
1.2.1 RSA加密算法
RSA算法是基于一个简单的数论事实,即将两个大的质数相乘非常容易,但是想要对其乘积进行因式分解为两个大的质数确非常困难,因此可以将乘积公开作为加密秘钥,来进行加解密,具体如图
E:公密
D:私密
N:两个pq的乘积
密文 = 明文的E次幂对N取余的余数
明文 = 密文的D次幂对N去与的余数
例如:p = 7 q = 11
求N:N = p×q = 7×11=77
求L:L = (p-1)×(q-1)=6×10=60
求E:gcd(E,L) = 1 , 1<E<L (gcd函数指E,L的最大公约数是1,即E不能被L整除)
gcd(E,60) = 1
E = 13
求D:E×D mod L = 1 1<D<L (mod指取余,E乘D对L取的余数为1)
13×D mod 60 =1
D = 37
明文 = 20 明文小于N
加密 2013 mod 77 = 69
解密 6937 mod 77 = 20
解密成功!!!
当P,Q特别特别大时,已知E求D会变的特别复杂,所以常将(E,N)做公密,(D,N)做私密
1.2.2 ECC加密算法
先进入一个这样的场景1和2
据Y不知不觉的就传给了小红,这里面体现的就是ECC的加密原理。如公式总结:
G × k = N (G,N公开,k保密,k就是传说中的密钥,N就是传说中的公钥,G一般在算法里写死了,也叫做曲线参数)
C1 = G×M
C2 = N × M + x (M随机选取,x为要加密的数字,M和x都保密)
方法一:
x = c2 - C1×k
= N×M+x-G×M×k
= G×M×k - G×M×k +x
= x
方法二:
x = C2-N×M= C2 – N×(C1/G)
问题:C2,N,C1,G都是已知数,都能直接算出来,干嘛还要c2-c1*k这么复杂
每个人都会算加,减,乘,除,幂运算,有人会算log23 这类对数吗?至少特别特别难,ECC就利用这个原理来进行加解密。
GK = N
C1 = GM
C2 = NM + X
方法一:
x = c2 - C1K
= NM + X - GMK
=GMK + X - GMK
= x
方法二:
x = C2-N×M= C2 – N×(logc1G )
由于logc1G 是一个求不出来的具体的数,所以方法二是不可取的,所以就只能使用方案一,只有知道k利用C2-kC2才能解出来。ECC就是利用这个原理进行加密,k为私密,N为公密,x为加密数据。了解ECC加密算法前,我们先了解有限域的计算方法,基本规则:
现在定义一个有限域Fp
a. Fp中p(p为质数)个元素0,1,2,…, p-2,p-1
b. Fp的加法是a+b≡c(mod p)
c. Fp的乘法是a×b≡c(mod p)
d. Fp的除法是a÷b≡c(mod p),即 a×b^(-1)≡c (mod p),b-1也是一个0到p-1之间的整数,但满足b×b-1≡1 (mod p)
e. Fp的单位元是1,零元是 0
f. Fp域内运算满足交换律、结合律、分配律
解释一下同余定理,同余定理是指两个数对同一个数取余得到的余数相同。例如5和3对2取余都是1那么我可以写成5≡3(mod 2),已知3(mod2)怎么求5呢?
直接3对2取余为1,所以3(mod2)=2k+1(k为整数)
例如:
椭圆曲线已知E23(1,1)上两点P(3,10),Q(9,7)求:
(1) -P
(2) P+Q
(3) 2P
E23(1,1) = Ep(a,b)
(1) 计算-P
−P=(3,−10(mod23)) 我们知道-10对23取余是-10 所以-10(mod23)=23k-10(k为整数),这里K取1,即-p=(3,13)
(2)计算P+Q
由上面公式可知K = (7-10)/(9-6)(mod 23) = -(1/2)(mod23)
(1/2)×(2)=1(mod23) 1(mod23)=23k+1 取k为1
得出 1/2×2= 24 即1/2 = 12
所以K = -12(mod23) = 23k-12 取k为1 即k = 11
P+Q =(x3,y3)
= ((11^2-3-9)(mod23),11(3-(11^2-3-9)(mod23))-10 (mod23))
=(109(mod23),11(3-109(mod23))-10(mod23))
=(17,(11(3-17)-10)(mod23))
=(17,23k-164) k取8
=(17,20)
(3)2P
K = ((3×3^2+1)/(2×10))(mod23) = (7/5)(mod23)
5×1/5 = 1(mod23)
5×1/5 = 23k+1 k取3
1/5 = 14
K = 7×14(mod23) = 23k+6(k为整数) k取0
K = 6
2P = (x3,y3)
=((6×6-3-3)(mod23),(6×(3-x3)-10)(mod23))
=(30(mod23),(6×(3-x3)-10)(mod23))
=(7,(-34)(mod23))
=(7,23k-34) 取k = 2
=(7,12)
是不是发现新的运算法则,利用这个运算法则去计算ECC的数据
举个栗子:
现在我们取椭圆曲线上一点作为基点G 假设选定E29(4,20),基点G(13,23) 基点G的阶数n=37,P = 29,
定义私密k = 25 (k<n)
生成公密
G =kG
=25G(mod29)
=25(13,23)(mod29)
=(14,6)
随机选取一个数r = 5,需要加密的数据为3,将3编码到曲线上即(3,28)
C1 =M+rK
=M+6K
=(3,28)+6×(14,6)(mod29)
=(3,28)+(27,27)(mod29)
=(6,12) (加密的数据)
C2 =rG
=6G(mod29)
=(5,7)
解密:C1−kC2 =(6,12)−25C2(mod29)
=(6,12)−25×(5,7)(mod29)
=(6,12)−(27,27)(mod29)
=(3,28)
注意,这里的所有加减乘除,都不是直接加减乘除,就向上面的例子一样,P+Q,2P,-P的操作一样,是有个(mod29)的操作,所以每次相加出来的点都是不同的。
1.3 散列算法
散列算法又有MD5和SHA加密算法,他们的原理都是将不定长的输入,输出成定长,不可逆,雪崩的数据,具体流程如图
MD5加密将不确定长度的输入,经过MD5加密后生成固定长度32位的输出:
哈希加密算法常用在文件的完整性校验,密码的正确性校验方面
传输加密
2.1 少量数据
对于传输少量的数据,我们优先选择RSA不对称加密算法,对称加密算法的密匙是不方便保存,另外因为数据量小,所以RSA加密消耗资源,会比较小,加解密速度方面也会比较快,使用RSA加密算法,公密公开,客户端直接用公密加密数据,服务端用私密解密数据。
2.2 大量数据
对于大量数据,我们采用RSA+AES加密算法混合使用,加密大量数据,RSA不对称加密算法是不适合加密大量,加解速度慢,消耗资源多,AES加密算法加解密速度快,资源消耗的也少,这样我们可以用AES加密算法加密数据,用RSA加密算法加密密匙,这样的即保证了加密大量数据的加解密速度,也保证的密匙传输的安全性。具体的传输过程流程图
1.服务端先用RSA加密算法生成公密M,私密N
2.客户端请求服务端拿到公密M
3.客户端拿到公密M之后,随机生成一个密匙K,用于AES加密的密匙K
4.我们将大量数据进行AES加密,将密匙用RSA公密M加密
5.将加密数据和加密的密匙K一起传至服务端
6.服务端拿到加密的数据和加密的密匙K,先用私密对加密的密匙进行解密,7.拿到里面的(AES)密匙K,在用密匙K进行解密客户端传来的加密数据。
8.后面的交互就可以直接用密匙K加解密就可以了。
2.3 只存不取的数据
对于只存不取的数据我们可以用hash加密,将其加密为不可解的数据,安全性更高,对于数据库的密码,一般会用MD5加”盐”加密,在输入的字符串后面拼接一个字符串,这样是为了保证加密的安全性。
2.4 HTTPS工作原理
HTTPS也是一种传输协议,一种安全传输协议。主要有获取证书,认证,加解密数据三个主要过程,获取证书,证书认证,数据传输加解密
生成证书过程:
- 服务端先生成一对公密M,私密N
- 服务端将公密M,还有一些相关信息(认证时间,过期时间等等)拿到第三方认证机构
- 认证机构拿到我们的信息及密匙,首先会用hash进行加密拿到HASH序列
- 再将Hash序列用第三方机构的私密进行加密,生成了一个我们需要的证书
- 认证机构将证书,还有个人的基本信息,公密传给客户端。
认证证书过程:
- 客户端拿到服务端的证书,还要个人基本信息,还有服务端的公密
- 客户端首先要验证证书是否正确,先用第三方机构的公密进行解密证书,如果能解密说明没有问题。不能解密则说明证书有问题,被掉包了,或者被截包了等情况。
- 用公密解密证书,拿到里面的Hash序列
- 验证的证书没有问题的情况下,再去验证服务端公密是否正确,客户端将服务端传来的信息,公密进行和第三方机构使用同样的HASH序列6进行加密得到加密的hash,将自己加密的Hash序列与用公密解密的Hash进行对比,如果不一致,则说明公密匙有问题的,或者信息有问题,是不能使用的,如果一致则说明公密无误是可以使用。
数据传输加解密:
- 认证无误,拿到公密,客户端随机生成一个随机KEY
- 使用AES加密算法对数据进行加密
- 使用验证无误的公密将KEY加密
- 将加密的数据和公密加密的KEY传至服务端
- 服务端拿到加密的数据和加密的密匙,先用私密将加密的密匙进行解密,拿到KEY
- 在用KEY进行解密数据,一次数据传输过程就算完成。后面KEY对数据进行加密传至客户端,客户端有KEY可以直接解密,后端数据的传输就用KEY加解密。
2.5 AK/SK认证
AK,SK是云主机用于验证某个发送请求的用户的身份。AK/SK是客户端与服务端都有的的密匙。
AK: Access Key Id(AK)用于标示用户
SK: Secret Access Key(SK)是用户用于加密认证字符串和云端用来验证认字符串的密钥
具体验证过程如下:
客户端:
- 客户端将AK放在请求头里
- 客户端将请求数据用SK加密生成密文(签名)
- 客户端将签名,和请求头一起发至服务端
服务端:
- 服务端拿到签名和请求头,从请求头中拿出AK
- 通过AK去数据库找到对应的SK
- 通过SK将请求数据进行加密得到密文(签名)
- 对比自己生成的签名和客户端传来的签名,两者相同,则认证通过,不相同,则认证失败。
3 MONGO数据库加密的方案
3.1 数据库层
Mongo数据在最新的4.2版本退出字段加密,仅限企业版可以使用,mongo在服务端可数据库之间加了一个应用程序,根据用户需求,当应用程序检测到有需要加密的字段时,会将该字段进行加密进入数据库。同理,出数据库时会进行对应的解密
应用程序就是在服务端和数据库之间的多了的一层,他由五个部分组成:加解密程序,通信程序,KMS,JSON规则,mongo集群。
加解密程序:主要是负责加密数据和解密数据
通信程序:主要负责解析KMS,JSON规则,mongo集群,与加解密程序通信,告诉加解密程序,加密的KEY是什么,加密算法是什么等。
KMS:是一个第三方密匙管理服务,用来存储和获取密匙的地方。
JSON规则:里面主要是用户指定的加密规则,是AES加密还是DES3加密
Mongo集群:存储数据密钥密钥库的MongoDB集群。密钥保管库群集可能与存储客户端加密数据的群集不同
数据加密过程如下:
- 服务端传来需要加密的字段
- 先验证改用户是否能获取到云端的密匙
- 如果不能获取到则用户不能加密
- 如果可以获取到则查看用户的JSON规则,JSON规则是用户想使用的加密方案,目前HMAC-SHA-512,MAC与AES-256-CBC加密算法的组合
- 拿到用户设置的存储数据密钥密钥库的MongoDB集群。通信程序将其解析,传至加解密程序
- 加解密程序与通信程序通信后,使用里面的KEY,加密算法,加密字段将其加密入库
出库也是执行同样的原理,如果用户不能访问云端的key,拿到的将是没有解密过的数据。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- BitCherry的矫正与突围——技术型公链的迷失和商业型公链的崛起
十多年后,中本聪所提出“一种点对点的电子现金系统”仍被视为经典的技术案例,而其背后中本聪关于“以技术为核心”的理念也正影响着更多区块链项目的设计者。BTC,EOS,ETH……无论你是否承认我们已大步迈进数字经济的时代,你总能说出这几个熟悉的的名字。也正是在这样的时代…...
2024/5/9 18:06:23 - 第四章 在 IoC 容器中装配 Bean
4.1 Spring 配置概述 4.1.1 Spring 容器高层视图Spring容器成功启动的必备条件Spring 框架的类包都已经放到应用程序的类路径下 应用程序为 Spring 提供完备的 Bean 配置信息 Bean 的类都已经放到应用程序的类路径下Bean 在Spring中加载的过程1、Bean 配置信息定义了 Bean 的实…...
2024/4/20 8:35:13 - 23种设计模式汇总
设计模式 23种设计模式,一个没少。比较常用的:单例、工厂、适配器、装饰者、代理、观察者这几个模式。其他的做了解。 创建型模式 单例模式 作用:确保一个类只有一个实例,只对外提供一个访问该实例的全局访问点。 特征: 1、无法通过new得到实例,构造器是被private修饰的 …...
2024/5/1 18:36:23 - LeetCode # 452 投飞镖刺破气球
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。一支弓箭可以沿着x轴从不同点完全垂直地…...
2024/4/24 8:41:47 - JS 中提高代码质量/速度小技巧
JS 中提高代码质量/速度小技巧 1. 类型强制转换 1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为NaN,或者使用 a !== a 来判断是否为NaN,因为 NaN !== NaN 32 * 1 // 32 ds * 1 // NaN nu…...
2024/4/24 8:41:48 - 03-GitLab简单使用
GitLab简单使用 1 登录系统 系统安装完成后,在浏览器中输入: http://yourip:8081 进行登录说明:开发私服一般使用ip地址 端口号默认为80,但管理员可能修改了端口号,比如此处使用的是8081 管理员使用root身份登录,初次登录需要修改密码 没有账号可以点击register进行注册普…...
2024/4/24 8:41:45 - 程序设计实习MOOC 指针练习:指向指针的指针
描述 程序填空使得输出指定结果 #include <iostream> using namespace std; int main() {int x,y,z;x = 10;y = 20;z = 30;int * a[3] = { &x, &y,&z};for( // 在此处补充你的代码 p < a + 3; ++p) cout<< * (*p) << endl;return 0;}输入 无…...
2024/4/24 8:41:52 - 将跳转的页面写在iframe中,执行完成后跳出
现状:a页面的js会调用 window.location.href = url 来跳转到 b 页面,然后 b执行完后会跳转到另一个页面。 需求:b页面的执行情况隐藏。 方法:使用iframe,调用b的url放到iframe中,然后b页面写一个跳出iframe的方法。<iframe id="diagnosisIframe" name="…...
2024/4/24 8:41:47 - 美团研发岗笔试真题练习(编程题4)——最大矩形
题目描述 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 输入描述: 输入一个仅包含’0’和’1’的二维字符数组。 第一行输入左大括号{,最后一行输入右大扩号}。 中间每行输入只包含’0’和’1’的字符数组*(字符数组的长度不超过20),…...
2024/4/24 8:41:46 - 数据库系统概念笔记——第10章 存储和文件结构
第10章 存储和文件结构 物理存储介质概述 大多数计算机系统中存在多种数据存储类型。可以根据访问数据的速度,购买介质时每单位数据的成本,以及介质的可靠性对这些存储介质进行分类。以下是几种有代表性的介质:高速缓冲存储器(cache)。高速缓冲存储器是最快最昂贵的存储介…...
2024/4/24 8:41:42 - 按钮点击事件
代码:按钮findViewBuId<Buttonandroid:id="@+id/mButton4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="跳转"app:layout_constraintLeft_toLeftOf="parent"app:layout_cons…...
2024/4/24 8:41:44 - 20120-5-26
jquery 的划入划出效果 $(".col-md-4").hover(function(){$(this).show(); }, function() {$(this).hide(); });百度富文本编辑器.工具栏浮动高度,编辑器高度,工具栏是否浮动 UE.getEditor(container, {topOffset : 60, initialFrameHeight : 600, autoFloatEnabled:…...
2024/4/24 8:41:42 - Java集合类之Collection接口,集合的“爸爸”接口了解一下?
目录什么是集合?集合和数组有什么区别?Collection接口如何遍历集合中的元素 Hello!没技术的大灰狼又来了,今天和小伙伴分享一个Java项目开发中比较常用的存储数据的方法----集合。 想到集合,可能很多小伙伴都会想到数组,那么集合和数组又有什么样的区别呢?且听大灰狼一一…...
2024/4/24 8:41:38 - iOS实战开发之获取当前设备的网络类型,2G/3G/4G/WIFI
在开发过程中,或多或少的考虑到用户的网络环境来加载不同的资源,提供用户体验,也是一种提升用户体验的途径。但是,苹果官方的开发SDK中并没有明确的类或者是接口来帮助我们简易的获取这个信息,目前针对苹果官方提供的Reachability类进行扩展实现此功能。希望对于有需要的同…...
2024/4/25 20:21:13 - LeetCode # 435 不重叠的区间个数
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。…...
2024/4/24 8:41:39 - 品优购电商系统开发第 7 章 六
2.8 保存数据2.8.1 后端代码修改 pinyougou-sellergoods-interface 的 GoodsService.javapublic void update(Goods goods);修改 pinyougou-sellergoods-service 的 GoodsServiceImpl ,将 SKU 列表插入的代码提取出来,封装到私有方法中/** * 插入 SKU 列表数据 * @param goods…...
2024/4/26 12:16:21 - 利用python爬取所有公司办公地址,并在百度地图个人开发平台标注。
一、利用python爬取公司办公地址 IDLE编辑器,python3.8版本。 import requests from bs4 import BeautifulSoup import re import xlwt def getHTMLText(url, code=“utf-8”): kv={‘user-agent’:‘Mozilla/5.0’} try: r = requests.get(url,headers=kv) r.raise_for_statu…...
2024/5/5 22:41:10 - 华为 USG6000防火墙配置镜像模式双机热备
网络拓扑要求:企业前期是一台防火墙,为了提高网络可靠性,并且在不影响原先防火墙配置情况下,新增一台防火墙做双机热备。两台FW的业务接口都工作在三层,下行为三层核心交换机。上行为二层交换机连接运营商的接入点,运营商为企业分配的IP地址为100.1.1.1-100.1.1.6配置思路…...
2024/5/7 16:57:17 - 利用Qt制作连续性图片
有关于如何利用Qt使图片的连续性切换来达到动图的效果,下面给出事例:首先先看一看效果图:从上面可以看到–这是个连续性动图,是由一张张静态图片连续切换产生的。 要学会如何添加资源图片一直继续就行,然后先添加前缀再添加文件先在头文件定义函数部分然后在cpp文件里面完…...
2024/4/28 19:39:56 - 【C++】游戏开发--基础
文章目录使用调用堆栈进行内存存储谨慎使用递归使用指针存储内存地址在不同数据类型之间进行转换使用动态分配更有效地管理内存使用按位运算进行高级检查和优化 使用调用堆栈进行内存存储 C ++仍然是大多数游戏开发人员首选的语言,其主要原因是: 我们可以自己处理内存,在很大…...
2024/4/28 0:10:39
最新文章
- 数据的输入和输出
早期的总线系统 为了解决通信的问题、主板上铺设了一条公共线路、各个设备都连接到这条线路上、不管谁要和谁通信、都能使用它来传输、这条线路就是总线。 总线上有CPU、内存、鼠标、键盘、硬盘、网卡、声卡、显卡等… 说是一条总线、实际上是包含了传输数据的数据总线、传输…...
2024/5/10 0:14:56 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/9 21:23:04 - 计算机网络----第七天
交换机与路由器 路由器的作用: 作用:寻IP地址 路由转发 隔离广播域 交换和维护路由信息 路由器的特点: 特点:位于网络层 转发流量 实现从源地址到目的地址转发 支持丰富的接口类型 支持多种路由协议 支持数据链路层协议 交换…...
2024/5/5 19:26:40 - 基于单片机的数字万用表设计
**单片机设计介绍,基于单片机的数字万用表设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的数字万用表设计概要是关于使用单片机技术来实现数字万用表功能的一种设计方案。下面将详细概述该设计的各个…...
2024/5/9 22:15:40 - #QT项目实战(天气预报)
1.IDE:QTCreator 2.实验: 3.记录: (1)调用API的Url a.调用API获取IP whois.pconline.com.cn/ipJson.jsp?iphttp://whois.pconline.com.cn/ipJson.jsp?ip if(window.IPCallBack) {IPCallBack({"ip":&quo…...
2024/5/8 7:05:05 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/8 6:01:22 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/9 15:10:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/9 4:20:59 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/8 20:48:49 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/8 19:33:07 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/8 20:38:49 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/9 7:32:17 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/9 17:11:10 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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