网络安全---非对称数据加密签名验证

一、课题描述

三位同学一组完成数据的非对称加密和数字签名验证传输。 三位同学分别扮演图中 Alice、Bob 和 CA 三个角色,Bob 和 Alice 从 CA 中获得数字证书、Bob 向 Alice 发送秘密发送一段加密并签名后的信息,Alice 获取 Bob 发送的加密信息,解密得到明文并验证信息的完整性(签名验证)。

1.公开密钥算法加密传输

2.公开密钥算法签名认证

 

3.公开密钥算法证书注册认证和获取

 

 

答案中给出 Alice、Bob 和 CA 的各自使用的公钥、私钥、以及发送的信息、签名的信息、加密后的密文数据,解密后的数据和签名完整性验证结果。

 题目完成过程中,可以多轮角色互换进行操作通信过程。

其中一轮过程要求发送的报文 m="三位同学的姓名和学号等基本信息”,非对称加密算法选用 RSA,报文摘要算法采用 MD5

题目完成过程中,加密算法可以直接使用现有的软件;也可以使用编程软件调用有关 API 实现(良好以上);3)当然自己直接实现一个算法将是非常值得表扬的,该题直接优秀。  

二、题目解答有关基本信息说明

角色

扮演者学号

扮演者姓名

 

Alice

2009124039

hkx

 

Bob

2009124037

Zll

 

CA 中心

1818064057

yjt

 

发送的消息

hkx,2009124039;yjt,1818064057;zll,2009124037

 使用的有关加密工具

RSA 密钥对生成及 RSA 加密解密: RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网MD5 计算:HashCalc 或 hashmyfiles-x64。

其它可选:CrypTool1 或 CrypTool2 或 OpenSSL 或 Java KeyTool

注:答案中实现的是 Alice Bob 发送加密和签名信息,与题目中的要求相反。

1.生成公钥私钥密钥对

1.1 生成密钥对方法手工计算密钥对

参数

取值

要求说明

p

0x17603

p 和 q 为两个不相同的大素数,也是大整数 N 的两个因子(factor)。

q

0x7C73

n=p*q

0xB5D17759

大整数 n 的二进制长度即为密码算法的强度,称之为模数(modulus)

z=(p-1)*(q-1)

 

欧拉函数φ(n)= (p-1)*(q-1)

e

0x10001

e<z,且 e 与 z 互质(无公因素)

可取 e=3 或 e=65537=(2^16+1)= (0x10001)

d

0x6F7FD5

e*d mod [(p-1)*(q-1)]=1

公钥 (n, e)

(0xB5D17759,0x10001)

公开

私钥 (n, d)

(0xB5D17759,0x6F7FD5)

保密

使用 RSA-Tool 2 工具生成密钥对

 

此处生成的密钥直接得到的是 RSA 中的(n,e)和(n,d)。

使用在线工具生成

在线生成非对称加密公钥私钥对、在线生成公私钥对、RSA Key pair create、生成RSA密钥对--查错网

        此处生成的密钥将公钥(n,e)、私钥(n,d)使用 ASN.1 标准的 TLV 格式编码为二进制,再转换为 Base64 格式(依据 pkcs#8 标准格式编码封装)。在线工具中提供了根据 pkcs#8 格式公私钥分解为(n,e) 即 RSA 公私钥指数Exponent、模数 Modulus 功能。

 

1.2 生成有关密钥对

CA 中心密钥对生成

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHgLN9zPp5KCE7KrEELx/CMapD

yAyVqVrtIxG9cT6sygjeL9jFOU3ZG3szCaqvTQ82wHbdKW0Xa6gHSKiXdwn2eL5i

t/AECPolUCqAt70WfpusMkXWk5tY5O2zqVicc9gujvN6vxL2wjSN/lZGNr6Aymc9

8oRXKq3Q79RRFt8Z5wIDAQAB

-----END PUBLIC KEY-----

 

-----BEGIN PRIVATE KEY-----

MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMeAs33M+nkoITsq

sQQvH8IxqkPIDJWpWu0jEb1xPqzKCN4v2MU5TdkbezMJqq9NDzbAdt0pbRdrqAdI

qJd3CfZ4vmK38AQI+iVQKoC3vRZ+m6wyRdaTm1jk7bOpWJxz2C6O83q/EvbCNI3+

VkY2voDKZz3yhFcqrdDv1FEW3xnnAgMBAAECgYEAnXzctIdWhsQGD6Xw3UOyB2Ob

bCyEurRZQe+4NlsqRc6rV3Jf5bkJ2kRWagDMi9wCEY+3hXkJVD65Ax75b7AZ3OEm

NjHrkN9+Oa8SePX9xK28pK0uHO4BmWTM8ucg2n3MNtf1QBSVur4NKUgHdArMiTKm

6pga8YNkoWqY8jbqgckCQQDvhFRrUHcL9RX3vnNw4zDJB882ILr/fvrMawg+gMPl

UbfWZz4HNZI/ou4JJPHeUrxzQrKRakw7yelDRuRmeM+TAkEA1TtswbN5PUrsjW6w

a3M4yeTJG8fK0R2fWM/TKqezbnEksTG1PBgVLNSJ+f0oxPvSW6Ung0HUMYc5cEK4

mf143QJAWqS31g0ToIDWGXYH9jbkpY/BCXkFi9+gRnBTJGRSvpxYeFmGDfBmMpMU

hn1m0354Nx6MuZ+CzjWxg3Z2xZj+5QJATv6X2N67YJicL/08wGHMPQdT9cW7fmMC

AG3lphzAnX6vADIRGTU2ywfmIcXGz8sW8Dqr+7VsffjBr7QYHXxIxQJBAOQvduWE

xwkfczetJ7oxFPW0vzD14UYy9DOoyx0Rh9PlctasrT87IVKGXQ4X/4BD4lQ2jbsr

7w7chGnhVooWWoA=

-----END PRIVATE KEY-----

Alice 密钥对生成

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADyTeQQMFps81uYsJsubsxxHX

9Lmu1YzCFg53a0gqsQJW4nfuAah1weX5g6D9XuZBPs9RTUQN2dNb1c2rP82qwjAk

p59w/3oXUXP/6wqyV+x8FuUQvbGI6HMqI7YoA9Bhg+xhKiJ2NGP7fpqxhwCLljSR

oyFW+BNmTSDaRhtJxQIDAQAB

-----END PUBLIC KEY-----

 

-----BEGIN PRIVATE KEY-----

MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMAPJN5BAwWmzzW5

iwmy5uzHEdf0ua7VjMIWDndrSCqxAlbid+4BqHXB5fmDoP1e5kE+z1FNRA3Z01vV

zas/zarCMCSnn3D/ehdRc//rCrJX7HwW5RC9sYjocyojtigD0GGD7GEqInY0Y/t+

mrGHAIuWNJGjIVb4E2ZNINpGG0nFAgMBAAECgYEAq1xXvt4uvhopg3v7LDothFHR

/+dgzTfIkVtwqOhVyZGJzs/dxcRA9GB+uvPQ7oB/3PMXsyjHcbxKswO+r+8LpqZF

Avr3V3omZYq2Cn/cmZlZQxqEAcVAEkn3n9UNe7XE4mRcwkqkMDZvcVA3VPOjNld9

Apff+MOsChF1Mqgsg/kCQQDhMB6COak/xeNVcVb0GDkctPgr7aZ5YdRumCkE+Jmv

r7zu+GcMD4QF/vpdUK1kSJ3a/FwfNClyaYZOo+yC+n67AkEA2laW4iHiU1t9A3sp

97Z/Q7KbBqXuJQbZHG3VyJWJnwPlai79Ytd9JTp+uCBbzjRekTPE9iM8F/2lISgF

Y4QRfwJBAJ/PdHda0IBPwewrSVhlsHJtBAq414IhKY9rMQE0JG2IPH8jjo4CnOFc

ePWsgcE/v7dfjUkfzaJCvWwl7X1upG0CQFqPlc+/vC9VADpkaJjdclXzDAgq5Oco

uv7ms8iZ9dYl+I8dZG4N8VNyusLGcS3LXPofHe/112QgCdEB15JaYiMCQQDDKRJC

prDX7zhRF7l2QIbkZFpnTT+VxjDZWuWgq7qE9Z3WMpoAMX72EUrDUu8lZB+IV60G

xEf7EXGUOw0El93j

-----END PRIVATE KEY-----

 Bob 密钥对生成

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6RCjSPPEqUa0QAP5KETBa5OEK

HQmSKnrA++mtYtKvlvPQH+FFLzjr5ivEJOLZ63aL2m3KEgAEtbFu6yAiBAHOFtPh

RtM5doigoeeGIkbjVFd/UVxKSYNgBhN0Rwmq+D6alT0ngAYJtTB1lB2w4m+28fZ/

m7wytuYOj1B+BH6rPQIDAQAB

-----END PUBLIC KEY-----

 

-----BEGIN PRIVATE KEY-----

MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALpEKNI88SpRrRAA

/koRMFrk4QodCZIqesD76a1i0q+W89Af4UUvOOvmK8Qk4tnrdovabcoSAAS1sW7r

ICIEAc4W0+FG0zl2iKCh54YiRuNUV39RXEpJg2AGE3RHCar4PpqVPSeABgm1MHWU

HbDib7bx9n+bvDK25g6PUH4Efqs9AgMBAAECgYAtR/yUf3QxUYG87kDjSKJ0tkdu

6fg1rFYDLDp2iBunzA6hfd6Jrx0rW90v5bewOmmrPgKKqS2P94uW51n8avT09gO/

Won+rMsdccHm1bYmc9aGcIEggyPTg+WRi3BoAHkKn+EY8YikmnmEmfX/TTnPJsuG

FVlP5smGyqTkuxjVgQJBAPStrotoRqJbfeFeaqmaoMNyo2rNjtENvYlXV/GoVG/d

kdSigLyL2HzX8xFh8oE8CFIQpYXNPJ7Q2Xph/N/0SpUCQQDC4o+R8J4B+WyWgu11

QCZh5QPk5LalURW7xPUL4njGtQ3AORJQiAp6QYPN9Jrp1CqIloZS38XSxf9YvrH9

kNwJAkB5Ru1RJCp+pyLJ5mawEnjE57mgYqr7a/gabzSkD29q00RJRRLSYe64UsGk

SAxPilYFd0LUA1qczaA+TPtudkPRAj8qoWTGh9wIkocuZXWMMHw07ePsLhvGDfaz

HGJ+Nww0a2aWpeVbuGaSV8J9SwSYIdEsD8FSX6DmemlhAFXvIcECQQC+GHUgFcfo

X4RT/sxm8z0BWfJKm4gNLWO31bo242M6Xt/PLSR6ch6nPfmO7nTJDlC78K8zEoyv

fdrb/O8TMgah

-----END PRIVATE KEY-----

2.公钥签名认证

2.1 签名的具体内容信息

签名认证的信息不能仅仅是对公钥进行签名,还应该包含一些其它信息(如公钥的

所有者,签名的有效期和签名者的信息等)。

签名包含的内容项目

含义及取值

 

公钥拥有者名称

 

 

公钥算法

RSA

 

公开的公钥

 

 

签名有效期

开始时间—结束时间

 

签名者名称

 

 

签名的摘要算法

MD5

 

签名的加密算法

RSA

 

签名信息

 

 

2.2CA 中心对自己的公钥进行签名认证

1)签名认证的内容(CSR


公钥拥有者名称:CA         公钥算法:RSA

签名有效期:2020/10/1-2030/10/1

签名者名称:CA         签名的摘要算法:MD5

签名的加密算法:RSA         公开的公钥:

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjQB5T7zmoFfDoaKi3HJQiPBK7

qiqUjplWyIrR10VBv0y1yAJB4lfwYvICeoMC8B5A9URujTvbAw8/RSjVAyr2Bepy

95HmOmPamxLEv4Z66myY63d7nNMrqP2MShTEFsoKykIEy7Z+605mx5e1YoVnCI0c

xHLLGC125EKCdgyEzQIDAQAB

-----END PUBLIC KEY-----


注意:因为涉及到中文字符,一定注意字符编码格式,此处文件使用的 UTF-8 格式。

2)签名认证的内容(CSR)即证书信息的 MD5

342c6f33c98c2d9db2319f8766efb5e2

使用的 HashCalc 和 hashmyfiles-x64 两个软件进行计算,结果一样。

3)对 MD5 值使用 CA 的私钥进行加密(签名值,BASE64 编码)

mBU2Gl5LUkxCnyfUWufVgbzJGbtCIbdAjzdLiMSAm0j3+PmKPm5uK7IwlfKJmFvb+Gtg3IeWVBdaK/mxWUpOAKhDL1D36WlfElmWGxj3G08/1kvYy5reRMtsRqWYnb0s2mGiMXuLkTNbnubmkYT3pQz9gI3KTSIiD9fdR3pNF5k=

使用的在线工具 在线RSA公钥加密解密、RSA public key encryption and decryption--查错网 进行操作得到。

4)CA 中心根证书内容

公钥拥有者名称:CA         公钥算法:RSA

签名有效期:2020/10/1-2030/10/1

签名者名称:CA         签名的摘要算法:MD5

签名的加密算法:RSA         公开的公钥:


-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrFQjPWcbPR3gEbCmoVkRahu4Z gHMw7d3ZpQNXltLzKzG5qPyxPdv/+lhiT8TwSi8klVHl7Rtj2mnzRZvVtP/mjWmJ HfXoKr900ZK+lYg/PdDkyAJbpTCxErjJ7DO3AD2jHeG5Ajp8UvEDV3saGyDoAhWy

JK43HAe5ZYnTnnfI+wIDAQAB

-----END PUBLIC KEY-----


签名: mBU2Gl5LUkxCnyfUWufVgbzJGbtCIbdAjzdLiMSAm0j3+PmKPm5uK7IwlfKJmFvb+Gtg3IeWVBdaK/mxWUpOAKhDL1D36WlfElmWGxj3G08/1kvYy5reRMtsRqWYnb0s2mGiMXuLkTNbnubmkYT3pQz9gI3KTSIiD9fdR3pNF5k=


2.3CA Alice 的公钥进行签名认证

1)签名认证的内容(CSR

公钥拥有者名称:Alice         公钥算法:RSA

签名有效期:2020/10/1-2021/10/1

签名者名称:CA         签名的摘要算法:MD5

签名的加密算法:RSA         公开的公钥:


-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADyTeQQMFps81uYsJsubsxxHX

9Lmu1YzCFg53a0gqsQJW4nfuAah1weX5g6D9XuZBPs9RTUQN2dNb1c2rP82qwjAk

p59w/3oXUXP/6wqyV+x8FuUQvbGI6HMqI7YoA9Bhg+xhKiJ2NGP7fpqxhwCLljSR

oyFW+BNmTSDaRhtJxQIDAQAB

-----END PUBLIC KEY-----


2)签名认证的内容(CSR)即证书信息的 MD5

0d13be1426befa4a945d984913d79c07

3)对 MD5 值使用 CA 的私钥进行加密(签名值,BASE64 编码)

KRi5jSjgFvwvqY7YAIcpSsOk+kBrdF1ZjmQx6J0p1LHX5gNIefiVpIk3lx3Szy+mqMHH3aSNV7iyj+i+ZUbxkO7P02gYeJkunby3k27Yri40dhgxwDdL+GAcqKosEgXe/wgGMqFtkyB4B4FuEAaVz5Zv1H1v1Bk6i4yvgAh+Ef4=Alice

4)公钥证书内容

公钥拥有者名称:Alice         公钥算法:RSA

签名有效期:2020/10/1-2021/10/1

签名者名称:CA         签名的摘要算法:MD5

签名的加密算法:RSA         公开的公钥:


-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADyTeQQMFps81uYsJsubsxxHX

9Lmu1YzCFg53a0gqsQJW4nfuAah1weX5g6D9XuZBPs9RTUQN2dNb1c2rP82qwjAk

p59w/3oXUXP/6wqyV+x8FuUQvbGI6HMqI7YoA9Bhg+xhKiJ2NGP7fpqxhwCLljSR

oyFW+BNmTSDaRhtJxQIDAQAB

-----END PUBLIC KEY-----


签名:

KRi5jSjgFvwvqY7YAIcpSsOk+kBrdF1ZjmQx6J0p1LHX5gNIefiVpIk3lx3Szy+mqMHH3aSNV7iyj+i+ZUbxkO7P02gYeJkunby3k27Yri40dhgxwDdL+GAcqKosEgXe/wgGMqFtkyB4B4FuEAaVz5Zv1H1v1Bk6i4yvgAh+Ef4=


2.4CA Bob 的公钥进行签名认证

1)签名认证的内容(CSR

公钥拥有者名称:Bob         公钥算法:RSA         

签名有效期:2020/10/1-2021/10/1

签名者名称:CA         签名的摘要算法:MD5

签名的加密算法:RSA         公开的公钥:


-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKM9Zr89U/5+790Bm/V+warwfu 6g6qDEFFEEoECtzgfeVIHK4w3UpvsNtfa5KDbkqVbT1/speqZgclw5ex97j00fbC nqrtYynLrLYzTe2lcJgzqp8bH68wMmjKhuynSIe4789F9TFY+r9e/DYIOBe/fxvw wGsaOgpoX6fD9uz8vwIDAQAB

 -----END PUBLIC KEY-----


2)签名认证的内容(CSR)即证书信息的 MD5

72708d1c3af8a4d23e0ed75e16105e85

3)对 MD5 值使用 CA 的私钥进行加密(签名值,BASE64 编码)

QJoDpLlftQEWpSNSx9DbqGAwljGsAlMmezKLdC/DCvlBT/YhSfhCxS04i5MMBJHcc+PIGJB30kC7mfGga0lYckM0/pmzR4tQGrpr+WSIZz1dcygeUJXJtg41xgd26k0uu31rCwte/xrBQXlRQ/HxKbT/7kWSk6B/4y1eHq2Ve7Y= Bob 公钥证书内容

公钥拥有者名称:Bob         公钥算法:RSA

签名有效期:2020/10/1-2021/10/1

签名者名称:CA         签名的摘要算法:MD5

签名的加密算法:RSA         公开的公钥:


-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKM9Zr89U/5+790Bm/V+warwfu 6g6qDEFFEEoECtzgfeVIHK4w3UpvsNtfa5KDbkqVbT1/speqZgclw5ex97j00fbC nqrtYynLrLYzTe2lcJgzqp8bH68wMmjKhuynSIe4789F9TFY+r9e/DYIOBe/fxvw wGsaOgpoX6fD9uz8vwIDAQAB

 -----END PUBLIC KEY-----


签名:

QJoDpLlftQEWpSNSx9DbqGAwljGsAlMmezKLdC/DCvlBT/YhSfhCxS04i5MMBJHcc+PIGJB30kC7mfGga0lYckM0/pmzR4tQGrpr+WSIZz1dcygeUJXJtg41xgd26k0uu31rCwte/xrBQXlRQ/HxKbT/7kWSk6B/4y1eHq2Ve7Y=


3.基于公钥的数据加密及签名认证通信

3.1 发送的数据内容

三位同学的姓名和学号等基本信息

hkx,2009124039;yjt,1818064057;zll,2009124037.

3.2 发送端 Alice 对发送数据进行处理

1)对发送的数据内容的签名认证发送的数据内容的 MD5 码

        b0afb46ea5cff4f5319b62eb55a114de

        对发送的数据内容的 MD5 码进行加密使用 Alice 的私钥加密该 MD5,即 Alice 对发送信息的签名。

HFuTSgPnRBGKLE5LKMvSefQYA9NuWT2vc0iuCdUuu0WnBQH8Tgoof390JaHb/WyHN6wEkcWCAz75U0K/YGpM5KHMLLwcesA0IpFS1OXYOpTq0cJzINkif9vmn0NqqCHXnKM/TFXEXDb/JsLljFtDPEkQttwJWq9PI4UUHkL9w2M=

2)对发送的数据内容进行加密

使用 Bob 的公钥加密发送的数据(通过 Bob 的数字证书获取其公钥,并应该使用 CA 证书对该证书进行验证)。

PgMv7TS1pMw+qsU9I1k1YGlNYM5XZaBBeEjJSR37Slq0tI3uWtXLvpwnZkpUw73Ulos+AOSh8uiOPLyy+TojiDgYUVqaYvUIT9Ipaqud9VsMUUDj39eRJigJgl7cXncyV5Q0lHGAXhNTW2GVujDk6/ZNl2R7M4P3caAwHfQxLL0=

3.3 加密认证信息发送:

Alice发送给Bob的信息内容

加密消息:

F7uIAABKh0FAu7fohRohD4DyVcunJtwO4ujhlAoZZKphNycyzRk4EX3iqWgmYWpa5ClnBS0 L5rjPjx1Y8AjwJYlhI6/gQtrHrnHe2cVRfdKqF3QStEaC1Hoxb5pxql0oFpTbltU67aEbc/ xbq0m0E7VW6dPgui05z7T6IrsqKEE=

签名信息:

XUaBCmIqJecvPWB3yCHgIQlg3dYLKi2mn+s9aidA0uQ3YR4NNG70Koqncya8TfMrrmbOduy

DYv/YAdTNO7Grt9Qsuqz7M2eANZxS1fyYOK4vY76xB1vglvGBfNzqFRRslhgMWzLpxQ3FiQ

9Sr8eOt0wNNVIgEAnmrK5Wah8mHD0=

3.4 接收端 Bob 对接收到数据进行处理

  • 对接收到的密文数据解密

        三位同学的姓名和学号等基本信息

        hkx,2009124039;yjt,1818064057;zll,2009124037.

  • 对接收到的数据进行签名验证解密后数据的 MD5 值

bc98021ce2565309a30c4a2a387434c1

        接收到的签名消息解密后得到的 MD5 值

        使用 Alice 的公钥解密签名信息获取发送端的 MD5 值(通过 Alice 的数字证书获取

其公钥,并应使用 CA 证书对 Alice 证书进行验证,证书验证此处略)。

bc98021ce2565309a30c4a2a387434c1

        验证是否成功(两个 MD5 是否相同)两个 MD5 相同,验证成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/303735.html

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

相关文章

ZYNQ学习之Petalinux 设计流程实战

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ PetaLinux工具提供了在 Xilinx 处理系统上自定义、构建和部署嵌入式 Linux 解决方案所需的…

简单题之数字总结

1.求数的幂 考点&#xff1a;二分幂&#xff08;快速幂&#xff09;的应用 思路&#xff1a; 直接暴力会超时&#xff0c;因此我们考虑用递归实现 如何用递归实现&#xff1f; 二分幂:对我们的幂次数分情况考虑&#xff1a; 1.M0&#xff0c;return 1; 2.M为奇数时&#xff0c…

CentOS7安装Tomcat

安装Tomcat前需要先安装JDK Linux安装JDK17等通用教程 一、安装 Tomcat下载地址 1、上传至服务器解压 tar -zxvf apache-tomcat-8.5.100.tar.gz2、解压后移动至 /usr/local/Tomcat 目录 mv apache-tomcat-8.5.100/ /usr/local/Tomcat3、进入bin目录启动Tomcat cd /usr/loc…

轻量级web开发框架:Flask本地部署及实现公网访问界面

目录 前言 1. 安装部署Flask 2. 安装Cpolar内网穿透 3. 配置Flask的web界面公网访问地址 4. 公网远程访问Flask的web界面 前言 本篇文章讲解如何在本地安装Flask&#xff0c;以及如何将其web界面发布到公网上并进行远程访问。 Flask是目前十分流行的web框架&#xff0c;采…

接口自动化测试要做什么?8个步骤讲的明明白白

先了解下接口测试流程&#xff1a; 1、需求分析 2、Api文档分析与评审 3、测试计划编写 4、用例设计与评审 5、环境搭建&#xff08;工具&#xff09; 6、执行用例 7、缺陷管理 8、测试报告 那"接口自动化测试"怎么弄&#xff1f;只需要在上篇文章的基础上再梳理下就…

【leetcode】动态规划::前缀和(二)

标题&#xff1a;【leetcode】前缀和&#xff08;二&#xff09; 水墨不写bug 正文开始&#xff1a; &#xff08;一&#xff09; 和为K的子数组 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续…

拍立淘API助力阿里巴巴1688平台:图片搜索商品更精准,实现个性化推荐新高度

在电子商务的浪潮中&#xff0c;搜索引擎一直扮演着至关重要的角色。然而&#xff0c;随着技术的不断发展和用户需求的多样化&#xff0c;传统的文本搜索方式已逐渐难以满足市场的需要。在此背景下&#xff0c;阿里巴巴1688平台引入拍立淘API&#xff0c;通过图片搜索技术&…

组态王与美国罗克韦尔AB PLC之间无线通讯方案详解

组态王与多台美国罗克韦尔AB PLC间的无线通信测试需要用到以下设备&#xff1a; 三菱PLC型号&#xff1a;FX5u 2台 上位机&#xff1a;组态王6.55 1台 达泰欧美系PLC无线通讯终端——DTD418MB 3块 主从关系&#xff1a;1主2从 通讯接口&#xff1a;RJ45接口 供电&…

CentOS 7与MySQL 5.7.25主从复制实践

本文主要记录mysql主从复制的详细步骤&#xff0c;如果你还没来得及安装MySQL请参考CentOS 7实战&#xff1a;轻松实现MySQL 5.7.25的tar包离线安装 ProcessOn源文件地址 主从复制应用场景&#xff1a; 从服务器作为主服务器的实时备份主从服务器实现读写分离&#xff08;主…

MQ死信队列:面试题

所谓的死信队列只不过是我们自己定义的一个队列&#xff0c;注意对于这个队列只能人工干预 面试题&#xff1a;你们是如何保证消息不会丢失的 1&#xff0c;什么是死信 在RabitMQ中充当主角的就是消息&#xff0c;在不同场景下&#xff0c;消息会有不同地表现。 死信就是在…

网络相关知识

网络相关 基础知识 计算机网络的功能 资源共享信息传递增加可靠性提高系统处理能力 局域网中常见的网络拓扑结构 星型拓扑&#xff1a;易于实现&#xff0c;易于扩展网络&#xff0c;易于排查故障网状拓扑&#xff1a;可靠性高 Tcp/ip五层参考模型以及对应的典型设备 应…

通往 AGI 的道路上,OpenAI 逐渐构建了全模态的工具集

几天前&#xff0c;OpenAI 公司官宣将发布一个名为“Voice Engine”的小规模模型&#xff0c;引起巨大的声浪。 该模型支持仅使用文本输入和单个 15 秒音频样本来生成与原始说话者非常相似的自然语音。可应用于“语音转录”、“语音克隆”、“语音翻译”等场景。 笔者感叹 AI …

Redis高级-分布式缓存

分布式缓存 – 基于Redis集群解决单机Redis存在的问题 单机的Redis存在四大问题&#xff1a; 0.目标 1.Redis持久化 Redis有两种持久化方案&#xff1a; RDB持久化AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file&#xff08;Redis数据备份文件&#xff09;…

13.java openCV4.x 入门-Core之图像差异比对(动态预警)

专栏简介 &#x1f492;个人主页 &#x1f4f0;专栏目录 点击上方查看更多内容 &#x1f4d6;心灵鸡汤&#x1f4d6;我们唯一拥有的就是今天&#xff0c;唯一能把握的也是今天建议把本文当作笔记来看&#xff0c;据说专栏目录里面有相应视频&#x1f92b; &#x1f9ed;文…

如何彻底删除node和npm

如何彻底删除node和npm 前言&#xff1a; 最近做个项目把本地的node更新了&#xff0c;之前是v10.14.2更新至v16.14.0 &#xff0c;想着把之前的项目起来下&#xff0c;执行npm install 结果启动不了&#xff0c;一直报npm版本不匹配需要更新本地库异常… 找了几天发现是npm 和…

Pandas学习笔记——第二弹

在用正则表达式对数据进行filtering的时候&#xff0c;出现字符串和整数变量不匹配的问题&#xff0c;例如&#xff1a; 给3加上引号就好了&#xff1a;3 但是为什么10000不需要加引号&#xff0c;而3需要呢&#xff1f;这是因为他们的变量类型不一样的&#xff0c;于是总结一下…

Java 继承

1 继承 1.1 为什么需要继承 Java中使用类对现实世界中实体来进行描述&#xff0c;类经过实例化之后的产物对象&#xff0c;则可以用来表示现实中的实体&#xff0c;但是 现实世界错综复杂&#xff0c;事物之间可能会存在一些关联&#xff0c;那在设计程序是就需要考虑 比如&…

如何用Vue实现实时网络状态监控:一篇让你轻松掌握前端网络连通性管理的指南

1、演示 2、网络监控目的 网络性能优化&#xff1a; 通过监控用户的网络状态&#xff0c;可以了解网络延迟、带宽利用率、丢包率等信息&#xff0c;从而优化网络性能&#xff0c;提升用户体验。 故障排除&#xff1a; 可以监控网络状态以及网络设备的运行情况&#xff0c;及时…

CSS3 实现文本与图片横向无限滚动动画

文章目录 1. 实现效果2.html结构3. css代码 1. 实现效果 gif录屏比较卡&#xff0c;实际很湿滑&#xff0c;因为是css动画实现的 2.html结构 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"…

二维数组中的查找

&#x1f600;前言 在解决问题时&#xff0c;我们经常会遇到需要在二维数组中查找特定元素的情况。然而&#xff0c;如果直接使用暴力搜索&#xff0c;即遍历整个数组寻找目标元素&#xff0c;可能会导致时间复杂度较高&#xff0c;效率不高。然而&#xff0c;对于给定的二维数…