CN110071909A - 基于rsa的长数据加密方法、装置、计算机设备及存储介质 - Google Patents

基于rsa的长数据加密方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110071909A
CN110071909A CN201910198388.3A CN201910198388A CN110071909A CN 110071909 A CN110071909 A CN 110071909A CN 201910198388 A CN201910198388 A CN 201910198388A CN 110071909 A CN110071909 A CN 110071909A
Authority
CN
China
Prior art keywords
data
encrypted data
encryption
rsa
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.)
Pending
Application number
CN201910198388.3A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910198388.3A priority Critical patent/CN110071909A/zh
Publication of CN110071909A publication Critical patent/CN110071909A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于RSA的长数据加密方法、装置、计算机设备及存储介质。其方法包括:获取待加密数据;按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理;对进行分割处理后的所述待加密数据进行分段加密和拼接,完成对所述待加密数据的加密处理。这样一来,该方法在对数据进行加密时,通过采用RSA加密算法对数据进行加密,实现了不受应用环境的限制,灵活方便;另外,对于长度过长的数据先进行分割处理和分段加密处理,然后再将数据进行拼接形成加密长数据,实现了对于长度过长的数据亦能做到快速加密,而且使得RSA加密不受数据长度的限制,支持长加密和短加密。

Description

基于RSA的长数据加密方法、装置、计算机设备及存储介质
技术领域
本发明涉及互联网技术领域,具体而言,本发明涉及一种基于RSA的长数据加密方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的发展,信息安全显得非常重要,从而研究出很多数据加密的算法。数据加密的技术手段一般包括算法和密钥两个要素,通过以密钥为参数,将密钥与待加密数据进行预设算法计算,进而将待加密数据加工为不可直接被理解的乱码,从而起到数据加密的作用。
在现有技术中,实际使用的RSA加密算法通常包括有两种方式,一种是native RSA加密算法,使用对称密钥(比如AES/DES等加解密方法)加密数据,然后再使用非对称密钥(RSA加解密密钥)加密对称密钥,而另一种是H5的rsa加密算法,直接使用非对称密钥加密数据,这两种方法在目前加密环境多变的现况下都难以对长度过长的字符串进行快速加密。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是在目前加密环境多变的现况下难以对长度过长的字符串进行快速加密的技术缺陷。
为解决上述技术问题,本发明提供了一种基于RSA的长数据加密方法,包括以下步骤:
获取待加密数据;
按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理;
对进行分割处理后的所述待加密数据进行分段加密和拼接,完成对所述待加密数据的加密处理。
可选地,所述按照预设的分割规则在所述待加密数据中设置分割点的步骤之前,还包括:
对所述待加密数据进行编码转换,以使所述待加密数据在进行分割处理时以Unicode编码形式展示。
可选地,所述按照预设的分割规则在所述待加密数据中设置分割点的步骤,包括:
计算所述待加密数据对应的总字节数,获取所述待加密数据的总字节长度;
将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置;
在所述分割点位置处对所述待加密数据进行分割处理,以将所述待加密数据分割成多个分段子数据。
可选地,将RSA加密算法中数据可以加密的最长长度117bytes设定为字节长度标准值;
所述将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置的步骤之前,还包括:
判断所述待加密数据的总字节长度是否大于字节长度标准值;
当所述待加密数据的总字节长度大于字节长度标准值时,将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置。
可选地,所述对进行分割处理后的所述待加密数据进行分段加密和拼接的步骤中,还包括:
采用RSA加密算法分别对每一分段子数据进行加密,形成分段的加密密文;
按照对所述待加密数据分割时的顺序依次将各个经过加密处理的分段加密密文进行拼接,以形成一串完整的加密数据。
可选地,所述按照对所述待加密数据分割时的顺序依次将各个经过加密处理的分段加密密文进行拼接时,包括:
把各个经过加密处理的分段加密密文直接以字符串连接的方式进行拼接。
为解决上述技术问题,本发明还提供了一种基于RSA的长数据加密装置,包括:
获取模块,用于获取待加密数据;
处理模块,用于按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理;
执行模块,用于对进行分割处理后的所述待加密数据进行分段加密和拼接,完成对所述待加密数据的加密处理。
可选地,所述基于RSA的长数据加密装置还包括:
转换模块,用于对所述待加密数据进行编码转换,以使所述待加密数据在进行分割处理时以Unicode编码形式展示。
可选地,所述基于RSA的长数据加密装置还包括:
第一获取子模块,用于计算所述待加密数据对应的总字节数,获取所述待加密数据的总字节长度;
第一处理子模块,用于将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置;
第一执行子模块,用于在所述分割点位置处对所述待加密数据进行分割处理,以将所述待加密数据分割成多个分段子数据。
可选地,将RSA加密算法中数据可以加密的最长长度117bytes设定为字节长度标准值,所述基于RSA的长数据加密装置还包括:
第一判断子模块,用于判断所述待加密数据的总字节长度是否大于字节长度标准值;
第二处理子模块,用于当所述待加密数据的总字节长度大于字节长度标准值时,将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置。
可选地,所述基于RSA的长数据加密装置还包括:
第一加密子模块,用于采用RSA加密算法分别对每一分段子数据进行加密,形成分段的加密密文;
第一拼接子模块,用于按照对所述待加密数据分割时的顺序依次将各个经过加密处理的分段加密密文进行拼接,以形成一串完整的加密数据。
可选地,所述基于RSA的长数据加密装置还包括:
第二拼接子模块,用于把各个经过加密处理的分段加密密文直接以字符串连接的方式进行拼接。
为解决上述技术问题,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基于RSA的长数据加密方法的步骤。
为解决上述技术问题,本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于RSA的长数据加密方法的步骤。
本发明的有益效果在于:
本发明通过按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理形成多段分段子数据;然后采用RSA加密算法对每一分段子数据进行加密处理,再将已进行加密处理的多个分段子数据进行拼接还原成长数据,进而完成一次对长数据的加密处理。这样一来,该方法在对数据进行加密时,通过采用RSA加密算法对数据进行加密,实现了不受应用环境的限制,灵活方便;另外,对于长度过长的数据先进行分割处理和分段加密处理,然后再将数据进行拼接形成加密长数据,实现了对于长度过长的数据亦能做到快速加密,而且使得RSA加密不受数据长度的限制,支持长加密和短加密。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于RSA的长数据加密方法的基本方法流程示意图;
图2为本发明实施例提供的基于RSA的长数据加密方法中对待加密数据进行分割处理时的一种方法流程示意图;
图3为本发明实施例提供的基于RSA的长数据加密方法中确定待加密数据是否进行分割处理的一种方法流程示意图;
图4为本发明实施例提供的基于RSA的长数据加密方法中对待加密数据进行分段加密和拼接时的一种方法流程示意图;
图5为本发明实施例提供的基于RSA的长数据加密装置基本结构框图;
图6为本发明实施例提供的计算机设备基本结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,且该操作的序号仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本实施例中提及的用户终端即为上述的终端。
请参阅图1,图1为本发明实施例提供的基于RSA的长数据加密方法的基本方法流程示意图。
如图1所示,所述基于RSA的长数据加密方法,包括以下步骤:
S100:获取待加密数据。
在一些实际应用中,当一个终端与另一个终端进行交互时,通常通过互联网将交互相关的数据以数据包的形式传送给对方,在此过程中,信息的安全尤为重要,需要确保数据保密不被泄露。例如当一个终端向另一终端提供服务时,由所述第一终端的后台服务器端接收第一终端触发的服务指令,获取与该服务指令相对应的数据,该数据即为待加密数据。在本实施例中,所述待加密数据可以是需要保密的软件开发工具包(SoftwareDevelopment Kit,即SDK),也可以是需要保密的文件、图片、语音、视频等等。
S200:按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理。
RSA加密算法为非对称加密算法,其加密方使用密钥对中的公钥进行加密,而解密方则使用密钥对中的私钥进行解密,而且采用RSA加密算法对数据进行加密时,每次加密数据的最长长度为117个字节(bytes)。对于长度较长的数据,无法直接采用RSA加密算法进行数据加密。在本实施例中,对长度较长的待加密数据进行加密时,按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理,从而可以将所述待加密数据分割成多段子数据,且每段子数据小于等于数据加密的最长长度。所述预设的分割规则可以为:预先设置一个长度小于等于117个字节(bytes)的长度阈值,按照该预先设置的长度阈值从所述待加密数据的端部开始丈量,在所述待加密数据上,每相隔一个长度阈值的距离设置一个分割点,直至将所述待加密数据分割成多段子数据且每一分段的子数据长度小于等于所述预先设置的长度阈值为止。
S300:对进行分割处理后的所述待加密数据进行分段加密和拼接,完成对所述待加密数据的加密处理。
对所述待加密数据进行分割处理后,针对每一分段的子数据单独进行加密处理,然后再将每一分段子数据经过加密处理后生成的加密密文进行拼接,以形成一串完整的加密数据,从而完成一次对所述待加密数据的加密处理。
上述实施例所述的基于RSA的长数据加密方法通过按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理形成多段分段子数据;然后采用RSA加密算法对每一分段子数据进行加密处理,再将已进行加密处理的多个分段子数据进行拼接还原成长数据,进而完成一次对长数据的加密处理。这样一来,该方法在对数据进行加密时,通过采用RSA加密算法对数据进行加密,实现了不受应用环境的限制,灵活方便;另外,对于长度过长的数据先进行分割处理和分段加密处理,然后再将数据进行拼接形成加密长数据,实现了对于长度过长的数据亦能做到快速加密,而且使得RSA加密不受数据长度的限制,支持长加密和短加密。
在一些实施例中,待加密数据的明文一般以字符串形式展示,而且字符串中每个字符对应占用的字节数不尽相同。在对待加密数据进行分割之前,需要对所述待加密数据的明文字符串进行编码转换,并计算明文字符串对应的字节数,以便于确定所述待加密数据中每个分割点的位置。因而在本实施例中,所述步骤S200之前,还包括步骤S400:对所述待加密数据进行编码转换,以使所述待加密数据在进行分割处理时以Unicode编码形式展示。
在使用RSA加密算法对数据进行加密时,每次加密数据的最长长度为117个字节(bytes)。待加密数据的明文则一般以字符串形式展示,计算字符串长度的单位为字符,而且字符串中每个字符对应占用的字节数不尽相同。在本实施例中,通过对所述待加密数据进行转换,以使得所述待加密数据在进行分割处理时以Unicode编码形式展示,从而可以确定所述待加密数据的字节长度,准确地在所述待加密数据中设置分割点。
Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。本实施例中,具体通过UTF-8编码转换工具进行编码转换。UTF-8是一种可变长的编码方法,字符长度从1个字节到4个字节不等,例如0x0000-0x007F占1个字节,0x0080-0x07FF占2个字节,0x0800-0xFFFF占3个字节,0x010000-0x10FFFF占4个字节等等。
在一些实施例中,当所述待加密数据转换成Unicode编码之后,可以统计得出所述待加密数据的字节长度,然后按照字节长度对所述待加密数据进行分割处理。请参阅图2,图2为本发明实施例提供的基于RSA的长数据加密方法中对待加密数据进行分割处理时的一种方法流程示意图。
如图2所示,所述步骤S200还可以包括步骤S210至步骤S230。其中,S210:计算所述待加密数据对应的总字节数,以获取所述待加密数据的总字节长度;S220:将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置;S230:在所述分割点位置处对所述待加密数据进行分割处理,以将所述待加密数据分割成多个分段子数据。
在本实施例中,在所述待加密数据转换成Unicode编码之后,所述待加密数据中的每一个字符至少对应一个字节,统计每一个字符对应的字节数,再将所述待加密数据中每一字符对应的字节数相加得出所述待加密数据的总字节数,以获取得出所述待加密数据的总字节长度。根据采用RSA加密算法对数据进行加密时不能超出117bytes的字节长度限制,预先设置用于丈量分段子数据长度的字节长度阈值,所述字节长度阈值小于等于117bytes。进而,将所述待加密数据的总字节长度与所述预设的字节长度与之进行比对,即按照所述预设的字节长度阈值从转换成Unicode编码后的待加密数据的端部开始丈量,在所述待加密数据每相隔一个预设的字节长度阈值距离的位置上设置一个分割点,直至通过设置分割点的方式将所述待加密数据划分成多个分段子数据且每一分段子数据的长度均小于等于所述预设的字节长度阈值为止。当在所述待加密数据中确定出对应的分割点之后,在所述分割点位置处对所述待加密数据进行分割处理,以将所述待加密数据分割形成多个分段子数据。
举例说明,例如某个待加密数据通过转换成Unicode编码后进行字节数统计和计算得出所述待加密数据的总字节数为526bytes,若预先设置的字节长度阈值为117bytes,那么,按照所述预设的字节长度阈值从转换成Unicode编码后的待加密数据的端部开始丈量,在所述待加密数据中的第117bytes和第118bytes之间设置一个分割点、第234bytes和第235bytes之间设置一个分割点、第351bytes和第352bytes之间设置一个分割点以及第468bytes和第469bytes之间设置一个分割点,这样,将所述待加密数据的第1-117bytes划分形成一个分段子数据,第118-234bytes划分形成一个分段子数据,第235-351bytes划分形成一个分段子数据,第352-468bytes划分形成一个分段子数据,第469-526bytes划分形成一个分段子数据,共形成5个分段子数据。当然,可以理解的是,所述预先设置的字节长度阈值可以设定为1-117bytes中的任意一个数值,例如50bytes、80bytes、100bytes等等。
上述实施例可以通过计算所述待加密数据的总字节数,然后按照字节数对所述待加密数据进行分割,可以在对所述待加密数据进行分割处理时,确保分割长度小于等于RSA加密时限制的最长长度,从而保证每一分段子数据都能加密成功。
在一些实施例中,请参阅图3,图3为本发明实施例提供的基于RSA的长数据加密方法中确定待加密数据是否进行分割处理的一种方法流程示意图。
如图3所示,所述步骤S220之前,还包括步骤S240至步骤S250。其中,S240:判断所述待加密数据的总字节长度是否大于字节长度标准值;S250:当所述待加密数据的总字节长度大于字节长度标准值时,将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置。
在本实施例中,在计算出所述待加密数据对应的总字节数之后,需要判断所述待加密数据是否为长数据,只有确定所述待加密数据为长数据时,才需要对所述待加密数据进行分割处理。在判断所述待加密数据是否为长数据时,首先将RSA加密算法中数据可以加密的最长长度117bytes设定为字节长度标准值,然后将所述计算出的待加密数据对应的总字节数与所述字节长度标准值进行比对,判断所述待加密数据的总字节数是否大于所述字节长度标准值,当所述待加密数据的总字节数大于所述字节长度标准值时,将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置。否则,直接采用RSA加密算法对所述待加密数据进行加密。
举例说明,例如当某个待加密数据通过转换成Unicode编码后进行字节数统计和计算得出所述待加密数据的总字节数为125bytes,由于所述待加密数据的总字节数125bytes大于所述字节长度标准值117bytes,若预先设置的字节长度阈值为80bytes,则此时,将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,在所述待加密数据的第80bytes和第81bytes之间设置一个分割点,以将所述待加密数据中的第1-80bytes分割形成一个分段子数据,而第81-125bytes形成另一个分段子数据。又例如,例如当某个待加密数据通过转换成Unicode编码后进行字节数统计和计算得出所述待加密数据的总字节数为105bytes,由于所述待加密数据的总字节数105bytes小于所述字节长度标准值117bytes,此时直接采用RSA加密算法对所述待加密数据进行加密,无需对所述待加密数据进行分割处理。
在一些实施例中,请参阅图4,图4为本发明实施例提供的基于RSA的长数据加密方法中对待加密数据进行分段加密和拼接时的一种方法流程示意图。
如图4所示,所述步骤S300还可以包括步骤S310和步骤S320。其中,S310:采用RSA加密算法分别对每一分段子数据进行加密,形成分段的加密密文;S320:按照对所述待加密数据分割时的顺序依次将各个进法国加密处理的分段加密密文进行拼接,以形成一串完整的加密数据。
在本实施例中,对所述待加密数据进行分割处理后,采用RSA加密算法对每一分段的子数据分别进行单独的加密处理,使得所述每一分段的子数据分别对应生成一个加密密文。然后,再按照对所述待加密数据分割时的顺序依次将每一分段子数据对应生成的加密密文进行拼接,以形成一串完整的加密数据,从而完成一次对所述待加密数据的加密处理。在一些具体的实施方式中,可以把各个经过加密处理的分段加密密文直接以字符串连接的方式进行拼接。
为解决上述技术问题本发明实施例还提供一种基于RSA的长数据加密装置。具体请参阅图5,图5为本发明实施例提供的基于RSA的长数据加密装置基本结构框图。
如图5所示,一种基于RSA的长数据加密装置,包括:获取模块、处理模块以及执行模块。其中,所述获取模块用于获取待加密数据;所述处理模块用于按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理;所述执行模块用于对进行分割处理后的所述待加密数据进行分段加密和拼接,完成对所述待加密数据的加密处理。
在一些实施例中,所述基于RSA的长数据加密装置还包括:转换模块。所述转换模块用于对所述待加密数据进行编码转换,以使所述待加密数据在进行分割处理时以Unicode编码形式展示。
在一些实施例中,所述基于RSA的长数据加密装置还包括:第一获取子模块、第一处理子模块和第一执行子模块。其中,所述第一获取子模块用于计算所述待加密数据对应的总字节数,获取所述待加密数据的总字节长度;所述第一处理子模块用于将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置;所述第一执行子模块用于在所述分割点位置处对所述待加密数据进行分割处理,以将所述待加密数据分割成多个分段子数据。
在一些实施例中,将RSA加密算法中数据可以加密的最长长度117bytes设定为字节长度标准值,所述基于RSA的长数据加密装置还包括:第一判断子模块和第二处理子模块。其中,所述第一判断子模块用于判断所述待加密数据的总字节长度是否大于字节长度标准值;所述第二处理子模块用于当所述待加密数据的总字节长度大于字节长度标准值时,将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置。
在一些实施例中,所述基于RSA的长数据加密装置还包括:第一加密子模块和第一拼接子模块。其中,所述第一加密子模块用于采用RSA加密算法分别对每一分段子数据进行加密,形成分段的加密密文;所述第一拼接子模块,用于按照对所述待加密数据分割时的顺序依次将各个经过加密处理的分段加密密文进行拼接,以形成一串完整的加密数据。
在一些实施例中,所述基于RSA的长数据加密装置还包括:第二拼接子模块。所述第二拼接子模块用于把各个经过加密处理的分段加密密文直接以字符串连接的方式进行拼接。
上述实施例所述的基于RSA的长数据加密装置通过按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理形成多段分段子数据;然后采用RSA加密算法对每一分段子数据进行加密处理,再将已进行加密处理的多个分段子数据进行拼接还原成长数据,进而完成一次对长数据的加密处理。这样一来,该方法在对数据进行加密时,通过采用RSA加密算法对数据进行加密,实现了不受应用环境的限制,灵活方便;另外,对于长度过长的数据先进行分割处理和分段加密处理,然后再将数据进行拼接形成加密长数据,实现了对于长度过长的数据亦能做到快速加密,而且使得RSA加密不受数据长度的限制,支持长加密和短加密。
为解决上述技术问题,本发明实施例还提供了一种计算机设备。具体请参阅图6,图6为本发明实施例提供的计算机设备基本结构框图。
如图6所示,计算机设备的内部结构示意图。如图6所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于RSA的长数据加密方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于RSA的长数据加密方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本实施例中,所述处理器用于执行图5中获取模块10、处理模块20和执行模块30的具体功能,而所述存储器存储有执行上述模块所需的程序代码和各类数据。所述网络接口用于向用户终端或服务器之间的数据传输。本实施例中的存储器存储有基于RSA的长数据加密装置中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
上述实施例所述的计算机设备通过按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理形成多段分段子数据;然后采用RSA加密算法对每一分段子数据进行加密处理,再将已进行加密处理的多个分段子数据进行拼接还原成长数据,进而完成一次对长数据的加密处理。这样一来,该方法在对数据进行加密时,通过采用RSA加密算法对数据进行加密,实现了不受应用环境的限制,灵活方便;另外,对于长度过长的数据先进行分割处理和分段加密处理,然后再将数据进行拼接形成加密长数据,实现了对于长度过长的数据亦能做到快速加密,而且使得RSA加密不受数据长度的限制,支持长加密和短加密。
本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述基于RSA的长数据加密方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于RSA的长数据加密方法,其特征在于,包括以下步骤:
获取待加密数据;
按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理;
对进行分割处理后的所述待加密数据进行分段加密和拼接,完成对所述待加密数据的加密处理。
2.根据权利要求1所述的基于RSA的长数据加密方法,其特征在于,所述按照预设的分割规则在所述待加密数据中设置分割点的步骤之前,还包括:
对所述待加密数据进行编码转换,以使所述待加密数据在进行分割处理时以Unicode编码形式展示。
3.根据权利要求2所述的基于RSA的长数据加密方法,其特征在于,所述按照预设的分割规则在所述待加密数据中设置分割点的步骤中,包括:
计算所述待加密数据对应的总字节数,获取所述待加密数据的总字节长度;
将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置;
在所述分割点位置处对所述待加密数据进行分割处理,以将所述待加密数据分割成多个分段子数据。
4.根据权利要求3所述的基于RSA的长数据加密方法,其特征在于,将RSA加密算法中数据可以加密的最长长度117bytes设定为字节长度标准值;
所述将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置的步骤之前,还包括:
判断所述待加密数据的总字节长度是否大于字节长度标准值;
当所述待加密数据的总字节长度大于字节长度标准值时,将所述待加密数据的总字节长度与预设的字节长度阈值进行比对,确定所述待加密数据对应的分割点位置。
5.根据权利要求3所述的基于RSA的长数据加密方法,其特征在于,所述对进行分割处理后的所述待加密数据进行分段加密和拼接的步骤中,还包括:
采用RSA加密算法分别对每一分段子数据进行加密,形成分段的加密密文;
按照对所述待加密数据分割时的顺序依次将各个经过加密处理的分段加密密文进行拼接,以形成一串完整的加密数据。
6.根据权利要求5所述的基于RSA的长数据加密方法,其特征在于,所述按照对所述待加密数据分割时的顺序依次将各个经过加密处理的分段加密密文进行拼接时,包括:
把各个经过加密处理的分段加密密文直接以字符串连接的方式进行拼接。
7.一种基于RSA的长数据加密装置,其特征在于,包括:
获取模块,用于获取待加密数据;
处理模块,用于按照预设的分割规则在所述待加密数据中设置分割点,以对所述待加密数据进行分割处理;
执行模块,用于对进行分割处理后的所述待加密数据进行分段加密和拼接,完成对所述待加密数据的加密处理。
8.根据权利要求7所述的基于RSA的长数据加密装置,其特征在于,该装置还包括:
转换模块,用于对所述待加密数据进行编码转换,以使所述待加密数据在进行分割处理时以Unicode编码形式展示。
9.一种电子设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述权利要求1至6任意一项所述的基于RSA的长数据加密方法。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述权利要求1至6中任意一项权利要求所述的基于RSA的长数据加密方法。
CN201910198388.3A 2019-03-15 2019-03-15 基于rsa的长数据加密方法、装置、计算机设备及存储介质 Pending CN110071909A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910198388.3A CN110071909A (zh) 2019-03-15 2019-03-15 基于rsa的长数据加密方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910198388.3A CN110071909A (zh) 2019-03-15 2019-03-15 基于rsa的长数据加密方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN110071909A true CN110071909A (zh) 2019-07-30

Family

ID=67366261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910198388.3A Pending CN110071909A (zh) 2019-03-15 2019-03-15 基于rsa的长数据加密方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110071909A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111211887A (zh) * 2019-12-23 2020-05-29 中移(杭州)信息技术有限公司 资源加密方法、系统、装置及计算机可读存储介质
CN111933235A (zh) * 2020-08-17 2020-11-13 郑州大学第二附属医院 一种基于本地的医疗信息加解密方法
CN112751852A (zh) * 2020-12-29 2021-05-04 平安普惠企业管理有限公司 数据传输方法及相关设备
CN113095042A (zh) * 2021-03-23 2021-07-09 广州零端科技有限公司 一种字符串加密方法、系统、装置及存储介质
CN113542224A (zh) * 2021-06-16 2021-10-22 深圳市中金岭南有色金属股份有限公司凡口铅锌矿 培训数据的处理方法、装置、服务器及介质
CN115001768A (zh) * 2022-05-24 2022-09-02 深圳壹账通智能科技有限公司 基于区块链的数据交互方法、装置、设备及存储介质
CN115277192A (zh) * 2022-07-27 2022-11-01 维沃移动通信有限公司 信息加密方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326767A (zh) * 2016-08-19 2017-01-11 北京奇虎科技有限公司 文件加密方法、文件解密方法及装置
CN106792669A (zh) * 2016-12-28 2017-05-31 北京五八信息技术有限公司 基于混合加密算法的移动终端信息加密方法及装置
CN108989287A (zh) * 2018-06-13 2018-12-11 平安科技(深圳)有限公司 加密方法、装置、终端设备及存储介质
CN109005027A (zh) * 2018-08-16 2018-12-14 成都市映潮科技股份有限公司 一种随机数据加解密法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326767A (zh) * 2016-08-19 2017-01-11 北京奇虎科技有限公司 文件加密方法、文件解密方法及装置
CN106792669A (zh) * 2016-12-28 2017-05-31 北京五八信息技术有限公司 基于混合加密算法的移动终端信息加密方法及装置
CN108989287A (zh) * 2018-06-13 2018-12-11 平安科技(深圳)有限公司 加密方法、装置、终端设备及存储介质
CN109005027A (zh) * 2018-08-16 2018-12-14 成都市映潮科技股份有限公司 一种随机数据加解密法、装置及系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111211887A (zh) * 2019-12-23 2020-05-29 中移(杭州)信息技术有限公司 资源加密方法、系统、装置及计算机可读存储介质
CN111211887B (zh) * 2019-12-23 2022-11-29 中移(杭州)信息技术有限公司 资源加密方法、系统、装置及计算机可读存储介质
CN111933235A (zh) * 2020-08-17 2020-11-13 郑州大学第二附属医院 一种基于本地的医疗信息加解密方法
CN112751852A (zh) * 2020-12-29 2021-05-04 平安普惠企业管理有限公司 数据传输方法及相关设备
CN112751852B (zh) * 2020-12-29 2022-10-11 平安普惠企业管理有限公司 数据传输方法及相关设备
CN113095042A (zh) * 2021-03-23 2021-07-09 广州零端科技有限公司 一种字符串加密方法、系统、装置及存储介质
CN113095042B (zh) * 2021-03-23 2023-12-19 广州零端科技有限公司 一种字符串加密方法、系统、装置及存储介质
CN113542224A (zh) * 2021-06-16 2021-10-22 深圳市中金岭南有色金属股份有限公司凡口铅锌矿 培训数据的处理方法、装置、服务器及介质
CN113542224B (zh) * 2021-06-16 2023-12-29 深圳市中金岭南有色金属股份有限公司凡口铅锌矿 培训数据的处理方法、装置、服务器及介质
CN115001768A (zh) * 2022-05-24 2022-09-02 深圳壹账通智能科技有限公司 基于区块链的数据交互方法、装置、设备及存储介质
CN115277192A (zh) * 2022-07-27 2022-11-01 维沃移动通信有限公司 信息加密方法、装置及电子设备
CN115277192B (zh) * 2022-07-27 2024-01-30 维沃移动通信有限公司 信息加密方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN110071909A (zh) 基于rsa的长数据加密方法、装置、计算机设备及存储介质
CN109688160B (zh) 数据加密传输控制方法、装置、计算机设备及存储介质
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
KR100259179B1 (ko) 암호화 통신 처리
EP2584732A1 (en) Secure data transfer using random ordering and random block sizing
EP2698945B1 (en) Vectorial private equality testing
CN112055004A (zh) 一种基于小程序的数据处理方法和系统
US7783045B2 (en) Secure approach to send data from one system to another
US9460315B2 (en) Order-preserving encryption system, device, method, and program
US20200169384A1 (en) Calculation device for encryption using public key and encryption method thereof
JPH0934356A (ja) 低帯域幅暗号モジュールを持つ高帯域幅暗号システム
CN107222759A (zh) 媒体文件加解密的方法、系统、设备和介质
CN112948867A (zh) 加密报文的生成与解密方法、装置及电子设备
CN110830261B (zh) 加密方法、装置、计算机设备及存储介质
US20200274709A1 (en) Calculation device for encryption using public key and encryption method thereof
CN113055184B (zh) 数据加解密方法及装置
CN114124359A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
Fahrnberger Computing on encrypted character strings in clouds
EP3923512A1 (en) Method for processing encrypted data
CN110213292B (zh) 数据发送方法及装置、数据接收方法及装置
CN115883212A (zh) 信息处理方法、装置、电子设备和存储介质
CN107343001A (zh) 数据处理方法及装置
CN114726611A (zh) 多方隐私集合求交方法、系统和装置
Mantoro et al. Improving the security guarantees, authenticity and confidentiality in short message service of mobile applications
CN115378743B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190730

RJ01 Rejection of invention patent application after publication