CN112367171A - 一种基于rsa和MD5的数据传输方法及组件 - Google Patents

一种基于rsa和MD5的数据传输方法及组件 Download PDF

Info

Publication number
CN112367171A
CN112367171A CN202011163694.2A CN202011163694A CN112367171A CN 112367171 A CN112367171 A CN 112367171A CN 202011163694 A CN202011163694 A CN 202011163694A CN 112367171 A CN112367171 A CN 112367171A
Authority
CN
China
Prior art keywords
data
value
rsa
signature
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011163694.2A
Other languages
English (en)
Other versions
CN112367171B (zh
Inventor
苏善宝
范渊
吴卓群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202011163694.2A priority Critical patent/CN112367171B/zh
Publication of CN112367171A publication Critical patent/CN112367171A/zh
Application granted granted Critical
Publication of CN112367171B publication Critical patent/CN112367171B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种基于rsa和MD5的数据传输方法及组件。本申请公开的方法应用于客户端,包括:利用rsa算法加密目标数据,得到加密数据;计算目标数据的第一MD5值,以及加密数据的第二MD5值;按照预设规则组合第一MD5值和第二MD5值,得到目标数据的签名;将加密数据和签名传输至服务端,以便服务端利用rsa算法解密加密数据,并利用签名进行数据校验。本申请能够提高数据在传输过程中的安全性,保障传输数据的完整性,也可避免数据被窃取或篡改。相应地,本申请提供的一种基于rsa和MD5的数据传输组件,也同样具有上述技术效果。

Description

一种基于rsa和MD5的数据传输方法及组件
技术领域
本申请涉及计算机技术领域,特别涉及一种基于rsa和MD5的数据传输方法及组件。
背景技术
目前,为避免数据在传输过程中被篡改,一般将传输数据加密后传输。但若是算法规则或密钥等重要信息被盗用,会导致数据在传输过程中被窃取或篡改,因此数据在传输过程中的安全性需要进一步提高。
因此,如何提高数据在传输过程中的安全性,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种基于rsa和MD5的数据传输方法及组件,以提高数据在传输过程中的安全性。其具体方案如下:
第一方面,本申请提供了一种基于rsa和MD5的数据传输方法,应用于客户端,包括:
利用rsa算法加密目标数据,得到加密数据;
计算所述目标数据的第一MD5值,以及所述加密数据的第二MD5值;
按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名;
将所述加密数据和所述签名传输至服务端,以便服务端利用所述rsa算法解密所述加密数据,并利用所述签名进行数据校验。
优选地,所述按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名,包括:
将所述第一MD5值划分为由N位字符组成的数据段,得到多个第一数据段;
将所述第二MD5值划分为由N位字符组成的数据段,得到多个第二数据段;
将所述多个第二数据段插空至所述多个第一数据段,得到所述签名。
优选地,所述利用rsa算法加密目标数据,得到加密数据之前,还包括:
将所述目标数据转换为json字符串,并对所述json字符串进行中文转码。
优选地,所述按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名之前,还包括:
按照预设进制数对所述第一MD5值和所述第二MD5值进行转换。
优选地,所述将所述加密数据和所述签名传输至服务端之前,还包括:
对所述签名进行base64编码。
优选地,所述服务端利用所述rsa算法解密所述加密数据,并利用所述签名进行数据校验,包括:
所述服务端利用所述rsa算法解密所述加密数据,获得所述目标数据;
计算所述目标数据的目标MD5值,并解析所述签名得到所述第一MD5值和所述第二MD5值;
对比所述目标MD5值和所述第一MD5值,若所述目标MD5值和所述第一MD5值一致,则计算所述加密数据的加密MD5值;
对比所述加密MD5值和所述第二MD5值,若所述加密MD5值和所述第二MD5值一致,则返回传输成功的提示消息至所述客户端。
优选地,还包括:
若所述目标MD5值和所述第一MD5值不一致,或所述加密MD5值和所述第二MD5值不一致,则所述服务端返回传输失败的提示消息至所述客户端。
优选地,所述对比所述目标MD5值和所述第一MD5值之前,还包括:
按照预设进制数对所述目标MD5值、所述第一MD5值和所述第二MD5值进行转换。
第二方面,本申请提供了一种基于rsa和MD5的数据传输装置,应用于客户端,包括:
加密模块,用于利用rsa算法加密目标数据,得到加密数据;
计算模块,用于计算所述目标数据的第一MD5值,以及所述加密数据的第二MD5值;
组合模块,用于按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名;
传输模块,用于将所述加密数据和所述签名传输至服务端,以便服务端利用所述rsa算法解密所述加密数据,并利用所述签名进行数据校验。
第三方面,本申请提供了一种基于rsa和MD5的数据传输设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的基于rsa和MD5的数据传输方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的基于rsa和MD5的数据传输方法。
通过以上方案可知,本申请提供了一种基于rsa和MD5的数据传输方法,应用于客户端,包括:利用rsa算法加密目标数据,得到加密数据;计算所述目标数据的第一MD5值,以及所述加密数据的第二MD5值;按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名;将所述加密数据和所述签名传输至服务端,以便服务端利用所述rsa算法解密所述加密数据,并利用所述签名进行数据校验。
可见,本申请中的客户端在利用rsa算法加密目标数据,得到加密数据后;计算目标数据的第一MD5值,以及加密数据的第二MD5值;而后按照预设规则组合第一MD5值和第二MD5值,以得到目标数据的签名;最后将加密数据和签名传输至服务端,这样服务端就可以利用rsa算法解密加密数据,并利用签名进行数据校验。其中,数据在传输过程中以密文形式传输,因此可避免数据被窃取或篡改;同时,签名基于目标数据的第一MD5值和加密数据的第二MD5值组合而成,因此也可以签名在传输过程中被窃取或篡改;据此,可保障服务端接收到的密文和签名均无误。为进一步检验所传输的数据,服务端可以利用签名对所传输的目标数据进行数据校验,以检验数据在传输过程中是否损坏、缺失或有误。可见,本申请能够提高数据在传输过程中的安全性,保障传输数据的完整性,也可避免数据被窃取或篡改。
相应地,本申请提供的一种基于rsa和MD5的数据传输组件(即装置、设备及可读存储介质),也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种基于rsa和MD5的数据传输方法流程图;
图2为本申请公开的另一种基于rsa和MD5的数据传输方法流程图;
图3为本申请公开的一种基于rsa和MD5的数据传输装置示意图;
图4为本申请公开的一种基于rsa和MD5的数据传输设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,为避免数据在传输过程中被篡改,一般将传输数据加密后传输。但若是算法规则或密钥等重要信息被盗用,会导致数据在传输过程中被窃取或篡改,因此数据在传输过程中的安全性需要进一步提高。为此,本申请提供了一种基于rsa和MD5的数据传输方案,能够提高数据在传输过程中的安全性。关于rsa算法和MD5算法的具体原理可以参照现有相关技术。
参见图1所示,本申请实施例公开了一种基于rsa和MD5的数据传输方法,应用于客户端,包括:
S101、利用rsa算法加密目标数据,得到加密数据。
S102、计算目标数据的第一MD5值,以及加密数据的第二MD5值。
在一种具体实施方式中,利用rsa算法加密目标数据,得到加密数据之前,还包括:将目标数据转换为json字符串,并对json字符串进行中文转码。
在一种具体实施方式中,按照预设规则组合第一MD5值和第二MD5值,得到目标数据的签名之前,还包括:按照预设进制数对第一MD5值和第二MD5值进行转换。预设进制数如二进制数、十进制数等。
S103、按照预设规则组合第一MD5值和第二MD5值,得到目标数据的签名。
在一种具体实施方式中,按照预设规则组合第一MD5值和第二MD5值,得到目标数据的签名,包括:将第一MD5值划分为由N位字符组成的数据段,得到多个第一数据段;将第二MD5值划分为由N位字符组成的数据段,得到多个第二数据段;将多个第二数据段插空至多个第一数据段,得到签名。
例如:第一MD5值为1234,第二MD5值为6789;假设N取值2,那么划分第一MD5值可得12、34这两个第一数据段,划分第二MD5值可得67、89这两个第二数据段。之后,将“67”插入至“12”后面,将“89”插入至“34”后面,可得签名为12673489。其中,N为正整数且大于等于1。
当然,也可以将多个第一数据段插空至多个第二数据段,得到签名。即:将“12”插入至“67”后面,将“34”插入至“89”后面,可得签名为67128934。
S104、将加密数据和签名传输至服务端,以便服务端利用rsa算法解密加密数据,并利用签名进行数据校验。
在一种具体实施方式中,将加密数据和签名传输至服务端之前,还包括:对签名进行base64编码。当然,也可以利用其它编码方式对签名进行编码。
在一种具体实施方式中,服务端利用rsa算法解密加密数据,并利用签名进行数据校验,包括:
S201、服务端利用rsa算法解密加密数据,获得目标数据;
S202、服务端计算目标数据的目标MD5值,并解析签名得到第一MD5值和第二MD5值;
S203、服务端对比目标MD5值和第一MD5值,若目标MD5值和第一MD5值一致,则计算加密数据的加密MD5值;
S204、服务端对比加密MD5值和第二MD5值,若加密MD5值和第二MD5值一致,则返回传输成功的提示消息至客户端。
在一种具体实施方式中,若目标MD5值和第一MD5值不一致,或加密MD5值和第二MD5值不一致,则服务端返回传输失败的提示消息至客户端。
在一种具体实施方式中,对比目标MD5值和第一MD5值之前,还包括:按照预设进制数对目标MD5值、第一MD5值和第二MD5值进行转换。
若数据正常传输,则目标MD5值和第一MD5值一致,加密MD5值和第二MD5值一致,服务端返回传输成功的提示消息至客户端时,可以对目标数据进行下一步处理,如:存储、修改等。若数据在传输过程中被篡改、损坏或丢失,则上述对比会出现不一致的情况,一旦对比不一致,则认为数据有误,因此服务端返回传输失败的提示消息至客户端。
可见,本申请实施例使得数据在传输过程中以密文形式传输,因此可避免数据被窃取或篡改;同时,签名基于目标数据的第一MD5值和加密数据的第二MD5值组合而成,因此也可以签名在传输过程中被窃取或篡改;据此,可保障服务端接收到的密文和签名均无误。为进一步检验所传输的数据,服务端可以利用签名对所传输的目标数据进行数据校验,以检验数据在传输过程中是否损坏、缺失或有误。可见,本申请能够提高数据在传输过程中的安全性,保障传输数据的完整性,也可避免数据被窃取或篡改。
为了更清楚地介绍本申请,下面详细介绍客户端和服务端的交互过程。其中,客户端和服务端利用http协议进行交互。
客户端和服务端之间的交互过程包括:
1、客户端向服务端发起http请求,此时会先同服务端建立一个交互通道;
2、服务端接收到该请求之后同意与客户端建立交互通道。
3、客户端按照本申请将需要发送的数据发送至服务端。
4、服务端对接收到的数据进行解密和校验,得到相应数据。
其中,客户端按照本申请将需要发送的数据发送至服务端,包括:
(1)客户端利用javascript语言中的JSON.stringify方法将需要发送的数据进行字符串序列化,得到一个json字符串;
(2)客户端利用window.encodeURIComponent方法对json字符串进行中文转码;
(3)客户端利用与服务端约定好的rsa公钥加密中文转码后的json字符串,得到一个加密字符串,
(4)客户端计算加密字符串的MD5值,计算中文转码后的json字符串的MD5值,得到两个MD5值;
(5)客户端对两个MD5值分别进行十进制转码,得到A1和A2;
(6)客户端与服务端约定好的组合规则,组合A1和A2,得到签名A3;
(7)客户端对A3进行base64编码后,将base64编码后的A3和加密字符串发送至服务端。
其中,服务端对接收到的数据进行解密和校验,得到相应数据,包括:
(1)服务端取出base64编码后的A3和加密字符串,对base64编码后的A3进行反base64编码,得到B3;
(2)服务端按照与客户端约定好的组合规则从B3中取出B1和B2;
(3)服务端利用rsa私钥解密加密字符串,得到中文转码后的json字符串,计算中文转码后的json字符串的MD5值,同时计算加密字符串的MD5值;
(4)服务端对自己计算得到的两个MD5值进行十进制转码,以得到两个十进制的MD5值,以便与十进制的B1和B2进行比较;
(5)服务端将自己计算得到的两个MD5值与B1、B2进行对比,若自己计算得到的MD5值在B1、B2中没有找到,或自己计算得到的MD5值在B1、B2中仅有一个,则说明签名或者传输的数据被篡改,将不再处理该数据,并告知客户端数据或者签名有误;若自己计算得到的两个MD5值在B1、B2中都有,则说明数据和签名正常,可以对源数据进行其他处理,并告知客户端成功。
可见,本实施例结合rsa和MD5对数据进行加密编译,保证http数据传输的安全性和完整性,确保数据不被泄露或篡改。
下面对本申请实施例提供的一种基于rsa和MD5的数据传输装置进行介绍,下文描述的一种基于rsa和MD5的数据传输装置与上文描述的一种基于rsa和MD5的数据传输方法可以相互参照。
参见图3所示,本申请实施例公开了一种基于rsa和MD5的数据传输装置,应用于客户端,包括:
加密模块301,用于利用rsa算法加密目标数据,得到加密数据;
计算模块302,用于计算目标数据的第一MD5值,以及加密数据的第二MD5值;
组合模块303,用于按照预设规则组合第一MD5值和第二MD5值,得到目标数据的签名;
传输模块304,用于将加密数据和签名传输至服务端,以便服务端利用rsa算法解密加密数据,并利用签名进行数据校验。
在一种具体实施方式中,组合模块具体用于:
将第一MD5值划分为由N位字符组成的数据段,得到多个第一数据段;将第二MD5值划分为由N位字符组成的数据段,得到多个第二数据段;将多个第二数据段插空至多个第一数据段,得到签名。
在一种具体实施方式中,还包括:
转码模块,用于将目标数据转换为json字符串,并对json字符串进行中文转码。
在一种具体实施方式中,还包括:
转换模块,用于按照预设进制数对第一MD5值和第二MD5值进行转换。
在一种具体实施方式中,还包括:
编码模块,用于对签名进行base64编码。
在一种具体实施方式中,服务端具体用于:
利用rsa算法解密加密数据,获得目标数据;
计算目标数据的目标MD5值,并解析签名得到第一MD5值和第二MD5值;
对比目标MD5值和第一MD5值,若目标MD5值和第一MD5值一致,则计算加密数据的加密MD5值;
对比加密MD5值和第二MD5值,若加密MD5值和第二MD5值一致,则返回传输成功的提示消息至客户端。
在一种具体实施方式中,服务端还用于:
若目标MD5值和第一MD5值不一致,或加密MD5值和第二MD5值不一致,则返回传输失败的提示消息至客户端。
在一种具体实施方式中,服务端还用于:
按照预设进制数对目标MD5值、第一MD5值和第二MD5值进行转换。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种基于rsa和MD5的数据传输装置,该装置能够提高数据在传输过程中的安全性,保障传输数据的完整性,也可避免数据被窃取或篡改。
下面对本申请实施例提供的一种基于rsa和MD5的数据传输设备进行介绍,下文描述的一种基于rsa和MD5的数据传输设备与上文描述的一种基于rsa和MD5的数据传输方法及装置可以相互参照。
参见图4所示,本申请实施例公开了一种基于rsa和MD5的数据传输设备,包括:
存储器401,用于保存计算机程序;
处理器402,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种基于rsa和MD5的数据传输方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的基于rsa和MD5的数据传输方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于rsa和MD5的数据传输方法,其特征在于,应用于客户端,包括:
利用rsa算法加密目标数据,得到加密数据;
计算所述目标数据的第一MD5值,以及所述加密数据的第二MD5值;
按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名;
将所述加密数据和所述签名传输至服务端,以便服务端利用所述rsa算法解密所述加密数据,并利用所述签名进行数据校验。
2.根据权利要求1所述的基于rsa和MD5的数据传输方法,其特征在于,所述按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名,包括:
将所述第一MD5值划分为由N位字符组成的数据段,得到多个第一数据段;
将所述第二MD5值划分为由N位字符组成的数据段,得到多个第二数据段;
将所述多个第二数据段插空至所述多个第一数据段,得到所述签名。
3.根据权利要求1所述的基于rsa和MD5的数据传输方法,其特征在于,所述利用rsa算法加密目标数据,得到加密数据之前,还包括:
将所述目标数据转换为json字符串,并对所述json字符串进行中文转码。
4.根据权利要求1所述的基于rsa和MD5的数据传输方法,其特征在于,所述按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名之前,还包括:
按照预设进制数对所述第一MD5值和所述第二MD5值进行转换。
5.根据权利要求1至4任一项所述的基于rsa和MD5的数据传输方法,其特征在于,所述将所述加密数据和所述签名传输至服务端之前,还包括:
对所述签名进行base64编码。
6.根据权利要求1至4任一项所述的基于rsa和MD5的数据传输方法,其特征在于,所述服务端利用所述rsa算法解密所述加密数据,并利用所述签名进行数据校验,包括:
所述服务端利用所述rsa算法解密所述加密数据,获得所述目标数据;
计算所述目标数据的目标MD5值,并解析所述签名得到所述第一MD5值和所述第二MD5值;
对比所述目标MD5值和所述第一MD5值,若所述目标MD5值和所述第一MD5值一致,则计算所述加密数据的加密MD5值;
对比所述加密MD5值和所述第二MD5值,若所述加密MD5值和所述第二MD5值一致,则返回传输成功的提示消息至所述客户端。
7.根据权利要求6所述的基于rsa和MD5的数据传输方法,其特征在于,还包括:
若所述目标MD5值和所述第一MD5值不一致,或所述加密MD5值和所述第二MD5值不一致,则所述服务端返回传输失败的提示消息至所述客户端。
8.一种基于rsa和MD5的数据传输装置,其特征在于,应用于客户端,包括:
加密模块,用于利用rsa算法加密目标数据,得到加密数据;
计算模块,用于计算所述目标数据的第一MD5值,以及所述加密数据的第二MD5值;
组合模块,用于按照预设规则组合所述第一MD5值和所述第二MD5值,得到所述目标数据的签名;
传输模块,用于将所述加密数据和所述签名传输至服务端,以便服务端利用所述rsa算法解密所述加密数据,并利用所述签名进行数据校验。
9.一种基于rsa和MD5的数据传输设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的基于rsa和MD5的数据传输方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于rsa和MD5的数据传输方法。
CN202011163694.2A 2020-10-27 2020-10-27 一种基于rsa和MD5的数据传输方法及组件 Active CN112367171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011163694.2A CN112367171B (zh) 2020-10-27 2020-10-27 一种基于rsa和MD5的数据传输方法及组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011163694.2A CN112367171B (zh) 2020-10-27 2020-10-27 一种基于rsa和MD5的数据传输方法及组件

Publications (2)

Publication Number Publication Date
CN112367171A true CN112367171A (zh) 2021-02-12
CN112367171B CN112367171B (zh) 2022-11-22

Family

ID=74510753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011163694.2A Active CN112367171B (zh) 2020-10-27 2020-10-27 一种基于rsa和MD5的数据传输方法及组件

Country Status (1)

Country Link
CN (1) CN112367171B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296083A (zh) * 2008-05-14 2008-10-29 华为技术有限公司 一种加密数据传输方法和系统
WO2011079583A1 (zh) * 2009-12-31 2011-07-07 北京书生国际信息技术有限公司 电子文档签名保护方法和系统
US20160380770A1 (en) * 2015-06-23 2016-12-29 Trifone Whitmer System and Method for Hash-Based Data Stream Authentication
CN106569907A (zh) * 2016-10-31 2017-04-19 惠州Tcl移动通信有限公司 一种系统启动文件的校验及编译方法
US10044509B1 (en) * 2017-08-14 2018-08-07 Fmr Llc Method for encrypting and storing data
CN108462574A (zh) * 2018-02-12 2018-08-28 广东睿江云计算股份有限公司 一种轻量级密码加密方法和系统
CN109598126A (zh) * 2018-12-03 2019-04-09 贵州华芯通半导体技术有限公司 一种基于国密算法的系统安全启动方法、装置和系统
CN110166242A (zh) * 2019-05-22 2019-08-23 吉林亿联银行股份有限公司 报文传输方法及装置
CN110519309A (zh) * 2019-10-15 2019-11-29 中国建设银行股份有限公司 数据传输方法、装置、终端、服务器及存储介质
CN110611670A (zh) * 2019-09-12 2019-12-24 贵阳叁玖互联网医疗有限公司 一种api请求的加密方法及装置
CN110830261A (zh) * 2019-10-12 2020-02-21 平安普惠企业管理有限公司 加密方法、装置、计算机设备及存储介质
CN111131246A (zh) * 2019-12-24 2020-05-08 南京南瑞继保工程技术有限公司 一种适用于电力系统嵌入式设备的信息升级、备份方法和系统
CN111211888A (zh) * 2019-12-23 2020-05-29 新奇点企业管理集团有限公司 数据发送方法、数据接收方法、发送端及接收端
US20200195617A1 (en) * 2018-12-18 2020-06-18 Bae Systems Information And Electronic Systems Integration Inc. Securing data in motion
CN111371796A (zh) * 2020-03-11 2020-07-03 腾讯科技(深圳)有限公司 数据传输系统、数据传输方法、介质及电子设备

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296083A (zh) * 2008-05-14 2008-10-29 华为技术有限公司 一种加密数据传输方法和系统
WO2011079583A1 (zh) * 2009-12-31 2011-07-07 北京书生国际信息技术有限公司 电子文档签名保护方法和系统
US20160380770A1 (en) * 2015-06-23 2016-12-29 Trifone Whitmer System and Method for Hash-Based Data Stream Authentication
CN106569907A (zh) * 2016-10-31 2017-04-19 惠州Tcl移动通信有限公司 一种系统启动文件的校验及编译方法
US10044509B1 (en) * 2017-08-14 2018-08-07 Fmr Llc Method for encrypting and storing data
CN108462574A (zh) * 2018-02-12 2018-08-28 广东睿江云计算股份有限公司 一种轻量级密码加密方法和系统
CN109598126A (zh) * 2018-12-03 2019-04-09 贵州华芯通半导体技术有限公司 一种基于国密算法的系统安全启动方法、装置和系统
US20200195617A1 (en) * 2018-12-18 2020-06-18 Bae Systems Information And Electronic Systems Integration Inc. Securing data in motion
CN110166242A (zh) * 2019-05-22 2019-08-23 吉林亿联银行股份有限公司 报文传输方法及装置
CN110611670A (zh) * 2019-09-12 2019-12-24 贵阳叁玖互联网医疗有限公司 一种api请求的加密方法及装置
CN110830261A (zh) * 2019-10-12 2020-02-21 平安普惠企业管理有限公司 加密方法、装置、计算机设备及存储介质
CN110519309A (zh) * 2019-10-15 2019-11-29 中国建设银行股份有限公司 数据传输方法、装置、终端、服务器及存储介质
CN111211888A (zh) * 2019-12-23 2020-05-29 新奇点企业管理集团有限公司 数据发送方法、数据接收方法、发送端及接收端
CN111131246A (zh) * 2019-12-24 2020-05-08 南京南瑞继保工程技术有限公司 一种适用于电力系统嵌入式设备的信息升级、备份方法和系统
CN111371796A (zh) * 2020-03-11 2020-07-03 腾讯科技(深圳)有限公司 数据传输系统、数据传输方法、介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗江华: "基于MD5与Base64的混合加密算法", 《计算机应用》, 10 July 2012 (2012-07-10) *

Also Published As

Publication number Publication date
CN112367171B (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN109194466B (zh) 一种基于区块链的云端数据完整性检测方法及系统
CN110166242B (zh) 报文传输方法及装置
CN107295011B (zh) 网页的安全认证方法及装置
US20130166909A1 (en) Client-Side Player File and Content License Verification
CN113259133B (zh) 基于http协议的加密通讯方法、设备及存储介质
CN110611670A (zh) 一种api请求的加密方法及装置
WO2009158086A2 (en) Techniques for ensuring authentication and integrity of communications
US20180204004A1 (en) Authentication method and apparatus for reinforced software
CN110213247B (zh) 一种提高推送信息安全性的方法及系统
CN111639325B (zh) 基于开放平台的商户认证方法、装置、设备和存储介质
CN113259132B (zh) 数据传输加解密方法、装置、计算机设备及存储介质
CN110380859B (zh) 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统
CN111130798A (zh) 一种请求鉴权方法及相关设备
CN114244530A (zh) 资源访问方法及装置、电子设备、计算机可读存储介质
CN115276978A (zh) 一种数据处理方法以及相关装置
CN112367171B (zh) 一种基于rsa和MD5的数据传输方法及组件
CN111628985A (zh) 安全访问控制方法、装置、计算机设备和存储介质
CN113347270B (zh) 一种网络传输文件防水平越权方法和装置
CN115022012A (zh) 一种数据传输方法、装置、系统、设备及存储介质
CN113792314A (zh) 一种安全访问方法、装置及系统
CN114117404A (zh) 一种用户认证方法、装置、设备、系统及存储介质
CN114697119B (zh) 数据检验方法、装置、计算机可读存储介质及电子设备
CN113824693B (zh) 多媒体数据分享方法、装置、系统、电子设备和存储介质
CN111565178B (zh) 业务信息下发方法、装置、服务器、客户端及存储介质
CN114401131B (zh) 一种数据校验方法、系统、装置及客户端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant