CN114531284B - 数据加密方法、装置、电子设备及存储介质 - Google Patents

数据加密方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114531284B
CN114531284B CN202210115092.2A CN202210115092A CN114531284B CN 114531284 B CN114531284 B CN 114531284B CN 202210115092 A CN202210115092 A CN 202210115092A CN 114531284 B CN114531284 B CN 114531284B
Authority
CN
China
Prior art keywords
target
original
ciphertext
encryption
encryption algorithm
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.)
Active
Application number
CN202210115092.2A
Other languages
English (en)
Other versions
CN114531284A (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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte 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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202210115092.2A priority Critical patent/CN114531284B/zh
Publication of CN114531284A publication Critical patent/CN114531284A/zh
Application granted granted Critical
Publication of CN114531284B publication Critical patent/CN114531284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

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

Abstract

本申请实施例提供了一种数据加密方法、装置、电子设备及存储介质,该方法包括:获取待加密的原始数据;基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;根据所述多个中间密文,获得目标密文。该方法可以解决现有基于单一加密算法对数据进行加密时容易被逆向分析出密文生成规则的问题,基于该数据加密算法生成加密参数以进行反爬虫处理,可以有效降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。

Description

数据加密方法、装置、电子设备及存储介质
技术领域
本公开实施例涉及信息安全技术领域,更具体地,涉及一种数据加密方法、装置、电子设备及计算机可读存储介质,本公开同时还涉及反爬虫方法。
背景技术
随着互联网技术的不断发展,为了方便获取数据,网络爬虫(webcrawler)被人们广泛应用,这虽然可以一定程度加快互联网信息的流通和传播,但因为网络爬虫在爬取数据时对服务器的大量访问,其也会导致服务器压力过大,同时,网络爬虫的过度使用也容易造成隐私数据泄露。
为保证数据的安全性,目前较常使用的反爬虫方法是加密参数校验方法,即,由终端设备在向服务器发送的数据请求中添加加密参数,服务器在接收到数据请求之后,对该加密参数进行校验,并在校验通过的情况下,服务器才正常进行响应。
然而,在上述方法中,一般是基于单一的加密算法对特定内容进行加密以得到加密参数,这使得加密得到的加密值,即密文通常较为固定,算法特征较为明显,容易使得爬虫工程师通过逆向分析很容易分析出加密参数的生成规则,从而突破反爬限制,对服务器压力以及用户隐私数据来带风险。
发明内容
本公开的一个目的是提供一种用于数据加密的新的技术方案,以解决现有基于单一加密算法对数据进行加密时容易被逆向分析出密文生成规则的问题,从而可以降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。
本公开的第一方面,提供了一种数据加密方法,所述方法包括:
获取待加密的原始数据;
基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;
根据所述多个中间密文,获得目标密文。
本公开的第二方面,提供了一种反爬虫方法,应用于终端设备,包括:
获取待发送的原始请求,其中,所述原始请求中包括至少一个原始请求参数;
根据所述原始请求对应的请求地址和所述至少一个原始请求参数,生成第一待加密数据;
基于本公开的第一方面所述的方法对所述第一待加密数据进行加密处理,并将获得的密文作为目标加密参数;
根据所述原始请求和所述目标加密参数,获得目标请求;
将所述目标请求发送至服务器。
本公开的第三方面,提供了另一种反爬虫方法,应用于服务器,包括:
接收终端设备发送的目标请求,其中,所述目标请求中包括至少一个原始请求参数和目标加密参数;
根据所述目标请求对应的请求地址和所述至少一个原始请求参数,生成第二待加密数据;
基于本公开的第二方面所述的方法对所述第二待加密数据进行加密处理,并将获得的密文作为校验密文;
校验所述目标加密参数和所述校验密文是否一致,并在校验一致的情况下,获取与所述目标请求对应的响应消息,以及,将所述响应消息发送至所述终端设备。
本公开的第四方面,提供了一种数据加密装置,所述装置包括:
原始数据获取模块,用于获取待加密的原始数据;
中间密文获得模块,用于基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;
目标密文获得模块,用于根据所述多个中间密文,获得目标密文。
本公开的第五方面,还提供了一种电子设备,包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述电子设备执行本公开的第一方面、第二方面或第三方面所述的方法。
本公开的第六方面,还提供了一种计算机可读存储介质的,所述计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行根据本公开的第一方面、第二方面或第三方面所述的方法。
本公开实施例的一个有益效果在于,根据本公开的实施例,针对待加密的原始数据,首先通过基于对原始加密算法的加密逻辑进行用户自定义处理后获得的目标加密算法对原始数据进行加密处理,得到多个中间密文;之后,再基于该多个中间密文来获取最终的目标密文。区别于现有技术中基于单一的加密算法对数据进行加密的方法,该方法通过对原始加密算法的加密逻辑进行用户自定义处理,一方面可以提升加密得到的中间密文的复杂性,另一方面,根据得到的多个中间密文来生成目标密文,可以避免现有加密算法进行加密处理时得到的密文较为固定的问题,从而可以避免密文被逆向分析以得出生成规则的问题,基于该数据加密算法生成加密参数以进行反爬虫处理,可以有效降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书的原理。
图1是本公开实施例提供的一种数据加密方法的流程示意图。
图2是本公开实施例提供的加密算法的单次加密逻辑处理的示意图。
图3是本公开实施例提供的一种反爬虫方法的流程示意图。
图4是本公开实施例提供的另一种反爬虫方法的流程示意图
图5是本公开实施例提供的数据加密装置的原理框图。
图6是本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<方法实施例一>
请参看图1,其是本公开实施例提供的数据加密方法的流程示意图。该方法可以由电子设备实施,该电子设备可以为终端设备,也可以为服务器,此处不作特殊限定。
如图1所述,本实施例的方法可以包括如下步骤S1100-S1300,以下予以详细说明。
步骤S1100,获取待加密的原始数据。
原始数据,可以为任意待加密的数据。
具体地,原始数据可以为用户登录网络平台时的用户密码、文本、视频等数据,此处不作特殊限定。
在一个实施例中,在反爬虫场景中,原始数据可以为用于生成加密参数的数据内容,在该场景下,原始数据可以根据终端设备待发送的数据请求对应的请求地址,即URL以及请求参数等内容生成。例如,终端设备待发送的数据请求对应的URL为“https://www.xxx.com/api/”,该数据请求中的原始请求参数:param1=val1,param2=val2,则可以通过拼接该请求地址和该原始请求参数获得该原始数据,即该原始数据可以为“https://www.xxx.com/api/param1=val1param2=val2”的形式。
步骤S1200,基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;以及,执行步骤S1300,根据所述多个中间密文,获得目标密文。
原始加密算法,可以为现有的、用于对数据进行加密的算法,例如,可以为信息摘要算法,例如,MD5算法,或者也可以为对称加密算法或者非对称加密算法等算法;在本公开的实施例中,如无特说说明,以原始加密算法为信息摘要算法中的MD5算法为例进行说明。
具体地,在现有的反爬虫方法中,终端设备通常可以基于MD5算法对数据进行加密,以生成加密参数。然而,由于MD5算法的普及以及其具有的免费特性,各种编程语言均对其进行了较好的封装,这就使得用户在基于MD5算法对数据进行加密时,通常并不会关注其底层实现而是基于各编程语言封装好的接口直接使用,这虽然方便了用户使用,但是由于MD5算法对数据进行加密后得到的密文长度通常较为固定,即,均为128位,这容易造成爬虫工程师依据数据请求中加密参数的数据长度,很容易分析出其是基于MD5算法对数据加密获得,从而突破反爬虫措施的限制;尤其是在现有常用密码的一次MD5计算后密文、二次MD5计算后密文甚至3次MD5计算后密文均被计算且整理到一彩虹表(RainbowTable)中的情况下,这就使得基于现有MD5算法加密获得的密文作为加密参数的反爬虫方法更容易被爬虫工程师破解。
为此,在本公开的实施例中,为了提升密文被破解的难度,以确保数据的安全性,在一个实施例中,目标加密算法可以通过对MD5算法的加密逻辑进行以下至少一项用户自定义处理后获得:第一项:对MD5算法的链接变量的初始值、每次加密循环逻辑处理中使用的明文块、常量块以及移位数中的至少一项进行自定义处理;第二项:获取目标加密函数,在确保MD5算法的加密循环逻辑处理的总循环次数不变的情况下,通过修改原始加密函数的循环次数,将基于所述目标加密函数对数据进行循环加密的处理添加至所述加密循环逻辑处理中,其中,所述目标加密函数为不同于所述原始加密函数的非线性函数。
MD5算法的原理具体为:MD5码以512位分组来处理输入数据,并循环遍历每一个512位分组进行处理,且在处理每一个512位的分组时,还进一步的将其划分为16个32位的子分组,并经过一系列的加密循环逻辑处理后,将输出的四个32位分组拼接为一个128位的散列值作为输入数据的密文。
通常,MD5算法可以分为四个步骤:处理原文、设置初始值、循环加工和拼接结果,以下分别对该四个步骤进行简单说明。
处理原文,是指针对输入数据进行填充处理,以使输入数据满足MD5算法的处理规则,具体地,是以位为单位,将输入数据的二进制长度与512进行求余,并判断请求结果是否等于448,若等于448,则说明输入数据满足处理规则;否则,则需要对输入数据进行填充处理,以使其满足处理规则。
设置初始值,是指设置MD5加密循环逻辑处理的初始的链接变量的初始值,通常,MD5算法的链接变量的初始值分别为A=0x67452301,B=0xEFCDAB89,C=0x98BADCFE,D=0x10325476。
请参看图2,循环加工,是指针对输入数据,以512位为一分组对其划分,并分别对每一分组进行预设次数,即,64次的加密循环逻辑处理,在如图2所示的单次加密逻辑处理中,基于初始化的四个链接变量、4个原始加密函数F()、明文块M、常量块K以及不同的移位数进行加密运算,并将本轮得到的A、B、C、D的值作为下一轮的4个链接变量的初始值以循环进行下一轮运算,所有循环后得到的A、B、C、D与初始A、B、C、D相加得到最终加密值。
其中,在循环加工步骤中,所述4个原始加密函数分别为FF(X,Y,Z)=(X&Y)|((~X)&Z)、GG(X,Y,Z)=(X&Z)|(Y&(~Z))、HH(X,Y,Z)=X^Y^Z以及II(X,Y,Z)=Y^(X|(~Z)),每一函数循环各循环执行16次。
拼接结果,是指将针对最后一个512分组进行加密循环逻辑处理后得到的结果与其初始的链接变量的值相加后进行拼接以获得输入数据的密文。
以上为对现有MD5算法原理的简单说明,其详细处理过程此处不再赘述。在本公开的实施例中,为提升密文被破解难度,目标加密算法可以通过对现有MD5算法中的链接变量,即最初始的A、B、C、D的初始值进行自定义、对每次加密循环逻辑处理中使用的明文块、常量块以及移位数等进行用户自定义处理后获得,以及,也可以自定义一目标加密函数JJ(X,Y,Z)=(((Y^Z)&X)^Z),并在保证原始的加密循环逻辑处理的总循环次数不变,即,依然为64的情况下,通过修改原始加密函数的循环次数,将用户自定义的目标加密函数添加至加密循环逻辑处理中,以获得目标加密算法。
例如,在原始MD5算法中,4个原始加密函数FF()、GG()、HH()、II()各自循环16次,为此,可以通过将该4个原始加密函数的循环次数更改为各自循环15次,以及,在最后四次循环中基于目标加密函数JJ()对数据进行加密处理,以获得目标加密算法。
在根据以上任一项对原始加密算法的加密逻辑进行用户自定义处理获得目标加密算法后,在具体实施时,可以基于该目标加密算法直接对原始数据进行一次或者多次加密处理,并将得到的密文作为目标密文。例如,可以先基于目标加密算法对原始数据进行一次加密数据,得到密文1,再对密文1继续进行加密处理,依次类推进行多次加密,并将多次加密得到的密文作为最终的目标密文。然而,这虽然能够一定程度提升密文被破解的难度,但是,该方法得到的密文长度依然较为固定,即,依然为128,其依然存在被破解的可能。
为解决该问题,在一个实施例中,在基于目标加密算法对原始数据进行加密处理之前,该方法还包括:获取随机字符串,并通过基于第三预设规则对该随机字符串和该原始数据进行拼接处理,获得更新后的原始数据,其中,所述随机字符串包括表示当前时间的毫秒级时间戳;在该实施例中,所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:基于目标加密算法对所述更新后的原始数据进行加密处理,获得多个中间密文。
即,为增加加密内容的随机性,在获得原始数据之后,还可以在进行加密处理之前,获取一随机字符串,并将该随机字符串与原始数据拼接在一起,例如,将随机字符串拼接在原始数据的后边,以增加加密内容的随机性,使得即使针对同样的原始数据,每次加密处理后得到的密文也不相同。
例如,在反爬虫场景下,在拼接数据请求对应的请求地址和所有原始请求参数得到原始数据之后,还可以将当前时间戳拼接在该原始数据之后,以更新该原始数据并增加原始数据的随机性,即,在原始数据为“https://www.xxx.com/api/param1=val1param2=val2”的情况下,可以通过拼接当前时刻的时间戳更新原始数据为https://www.xxx.com/api/param1=val1param2=val2timestamp=1642570636000。
以上是以随机字符串为表示当前时间的毫秒级时间戳为例说明如何更新原始数据,以增加原始数据的随机性;在具体实施时,该随机字符串也可以基于其他随机算法生成,此处不做特殊限定。
在一个实施例中,所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:基于目标加密算法对原始数据进行加密处理,获得第一密文;根据第一预设规则对第一密文和预设密文进行拼接处理,获得待加密的第一数据;基于目标加密算法对第一数据进行加密处理,获得第二密文;根据第一密文、第二密文和预设密文,获得目标密文。
具体地,为进一步提升获得的目标密文被破解的难度,从而确保用户数据的安全性,在具体实施时,可以先基于目标加密算法对原始数据进行一次加密处理,得到第一密文,即hash1,之后,可以在进行二次加密时,在第一密文上拼接预设字符串,即添加“佐料(salt)”作为待加密的第一数据,之后,再对添加“佐料”后的第一数据继续进行加密处理,得到第二密文,即hash2。在该实施例中,所述根据第一预设规则对第一密文和预设密文进行拼接处理,可以是将预设密文拼接在第一密文之前、之后或者密文的中间,此处不做特殊限定;另外,该预设密文可以为同时由大小字母、数字、英文符号和中文符号构成的字符串,例如,可以为“td9#Kn_p7vUw”的形式。
在经过以上处理获得第一密文、第二密文之后,所述根据所述第一密文、所述第二密文和所述预设密文,获得目标密文,可以是根据第二预设规则对第一密文、第二密文和预设密文进行拼接处理,以获得目标密文。
具体地,可以将第一密文hash1、第二密文hash2和预设密文按先后顺序拼接在一起,从而得到目标密文为hash1+hash2+预设密文。当然,在具体实施时,也可以基于其他方式拼接第一密文、第二密文和该预设密文,例如,在预设密文的长度较短的情况下,也可以在拼接上预设密文之后,再交替拼接hash1和hash2,此处不对拼接方式做特殊限定。
根据以上说明可知,根据该实施例的方法得到的目标密文的长度为hash1的长度+hash2的长度+预设密文的长度,即128位+128位+预设密文的长度,这可以隐藏掉基于现有MD5算法进行加密后得到的密文其长度固定为128位的特征,从而进一步提升目标密文被破解的难度。
以上对本公开实施例提供的数据加密方法进行了详细说明,在具体实施时,可以将该数据加密方法应用于反爬虫场景下,具体在终端设备向服务器发送用于请求数据的原始请求时,获取该待发送的原始请求,并根据该原始请求对应的请求地址和该原始请求中包括的至少衣蛾原始请求参数,生成第一待加密数据,之后,基于本公开实施例提供的数据加密方法对该第一待加密数据进行加密处理,并将获得的密文作为目标加密参数;之后,可以通过在原始请求中加入该目标加密参数,以生成目标请求,并通过将该目标请求发送至服务器。
在该场景下,服务器在接收到终端设备发送的该目标请求之后,可以先基于该目标请求对应的请求地址和该目标请求中除目标加密参数以外的其他原始请求参数,生成第二加密数据,并基于本公开实施例提供的数据加密方法对该第二加密数据进行加密处理,并将获得的报文作为校验密文;再之后,通过校验目标加密参数和该校验密文是否一致,即可确定终端设备发送的数据请求为正常请求还是网络爬虫发送的请求,若两者一致,则说明不是网络爬虫发送的数据请求,此时,服务器可以对该目标请求正常进行响应,并将获取到的响应消息发送至该终端设备;若两者不一致,则说明该目标请求可能为网络爬虫发送的数据请求,此时服务器可以不对该目标请求进行响应。
需要说明的是,在具体实施时,若在原始数据中拼接了随机字符串,例如,拼接了表示当前时间的毫秒级字符串,则终端设备在获得目标加密参数并生成目标请求的过程中,还需要同时将该随机字符串作为请求参数,以便于服务器在获得目标请求之后,可以基于同样的数据获得校验密文以对目标请求进行校验,其详细处理过程此处不再赘述。
还需要说明的是,以上是以将该数据加密方法应用于反爬虫场景中为例说明如何应用该数据加密方法,在具体实施时,也可以将该方法应用在其他场景下,例如,应用在对网络传输的文件、视频的校验场景下,以确保文件、视频等被完整传输。
综上所述,本公开的实施例提供的数据加密方法,针对待加密的原始数据,首先通过基于对原始加密算法的加密逻辑进行用户自定义处理后获得的目标加密算法对原始数据进行加密处理,得到多个中间密文;之后,再基于该多个中间密文来获取最终的目标密文。区别于现有技术中基于单一的加密算法对数据进行加密的方法,该方法通过对原始加密算法的加密逻辑进行用户自定义处理,一方面可以提升加密得到的中间密文的复杂性,另一方面,根据得到的多个中间密文来生成目标密文,可以避免现有加密算法进行加密处理时得到的密文较为固定的问题,从而可以避免密文被逆向分析以得出生成规则的问题,基于该数据加密算法生成加密参数以进行反爬虫处理,可以有效降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。
<方法实施例二>
请参看图3,其是本公开实施例提供的一种反爬虫方法的流程示意图,该方法可以应用在终端设备中,例如,可以应用于手机、平板电脑、个人计算机等设备中。
如图3所示,该方法包括步骤S3100-S3500:
步骤S3100,获取待发送的原始请求,其中,所述原始请求中包括至少一个原始请求参数。
步骤S3200,根据所述原始请求对应的请求地址和所述至少一个原始请求参数,生成第一待加密数据。
步骤S3300,基于方法实施例一种任意一项所述的方法对所述第一待加密数据进行加密处理,并将获得的密文作为目标加密参数。
步骤S3400,根据所述原始请求和所述目标加密参数,获得目标请求。
步骤S3500,将所述目标请求发送至服务器。
<方法实施例三>
请参看图4,其是本公开实施例提供的另一种反爬虫方法的流程示意图,该方法可以应用在服务器中。
如图4所示,该方法包括步骤S4100-S4400:
步骤S4100,接收终端设备发送的目标请求,其中,所述目标请求中包括至少一个原始请求参数和目标加密参数。
步骤S4200,根据所述目标请求对应的请求地址和所述至少一个原始请求参数,生成第二待加密数据。
步骤S4300,基于方法实施例一种任意一项所述的方法对所述第二待加密数据进行加密处理,并将获得的密文作为校验密文。
步骤S4400,校验所述目标加密参数和所述校验密文是否一致,并在校验一致的情况下,获取与所述目标请求对应的响应消息,以及,将所述响应消息发送至所述终端设备。
<装置实施例>
与上述方法实施例一相对应,在本实施例中,还提供一种数据加密装置,如图5所述,该装置500可以包括原始数据获取模块510、中间密文获得模块520和目标密文获得模块530。
该原始数据获取模块510,用于获取待加密的原始数据;该中间密文获得模块520,用于基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;该目标密文获得模块530,用于根据所述多个中间密文,获得目标密文。
<设备实施例>
在本实施例中,还提供一种电子设备,如图6所述,该电子设备600可以包括处理器620和存储器610,该存储器610用于存储可执行的指令;该处理器620用于根据指令的控制运行电子设备以执行根据本公开任意实施例的方法。
<计算机可读存储介质实施例>
本实施例提供了一种计算机可读存储介质,该存储介质中存储有可执行命令,该可执行命令被处理器执行时,执行本说明书任意方法实施例中描述的方法。
附图中的流程图和框图显示了根据本说明书的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本申请的范围由所附权利要求来限定。

Claims (9)

1.一种数据加密方法,其特征在于,包括:
获取待加密的原始数据;
基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的链接变量的初始值,每次加密循环逻辑处理中使用的明文块、常量块、移位数,以及原始加密算法的循环次数中的至少一项进行自定义处理后获得,所述原始加密算法为MD5算法;
根据所述多个中间密文,获得目标密文,
其中,所述对原始加密算法的循环次数进行自定义处理以获得所述目标加密算法,包括:
获取目标加密函数,将基于所述目标加密函数对数据进行循环加密的处理添加至所述原始加密算法的加密循环逻辑处理之后,设置所述目标加密函数的循环次数和所述原始加密算法的循环次数,得到所述目标加密算法;其中,所述目标加密算法中的所述目标加密函数的循环次数和所述目标加密算法中的所述原始加密算法的循环次数总和与所述原始加密算法中的原始加密算法的循环次数一致,所述目标加密函数为不同于所述原始加密函数的非线性函数。
2.根据权利要求1所述的方法,其特征在于,所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:
基于所述目标加密算法对所述原始数据进行加密处理,获得第一密文;
根据第一预设规则对所述第一密文和预设密文进行拼接处理,获得待加密的第一数据;
基于所述目标加密算法对所述第一数据进行加密处理,获得第二密文;
根据所述第一密文、所述第二密文和所述预设密文,获得所述目标密文。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一密文、所述第二密文和所述预设密文,获得所述目标密文,包括:
根据第二预设规则对所述第一密文、所述第二密文和所述预设密文进行拼接处理,获得所述目标密文。
4.根据权利要求1所述的方法,其特征在于,在所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文步骤之前,所述方法还包括:
获取随机字符串,并通过基于第三预设规则对所述随机字符串和所述原始数据进行拼接处理,获得更新后的原始数据,其中,所述随机字符串包括表示当前时间的毫秒级时间戳;
所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:
基于目标加密算法对所述更新后的原始数据进行加密处理,获得多个中间密文。
5.一种反爬虫方法,其特征在于,应用于终端设备,包括:
获取待发送的原始请求,其中,所述原始请求中包括至少一个原始请求参数;
根据所述原始请求对应的请求地址和所述至少一个原始请求参数,生成第一待加密数据;
基于权利要求1-4任意一项所述的方法对所述第一待加密数据进行加密处理,并将获得的密文作为目标加密参数;
根据所述原始请求和所述目标加密参数,获得目标请求;
将所述目标请求发送至服务器。
6.一种反爬虫方法,其特征在于,应用于服务器,包括:
接收终端设备发送的目标请求,其中,所述目标请求中包括至少一个原始请求参数和目标加密参数;
根据所述目标请求对应的请求地址和所述至少一个原始请求参数,生成第二待加密数据;
基于权利要求1-4任意一项所述的方法对所述第二待加密数据进行加密处理,并将获得的密文作为校验密文;
校验所述目标加密参数和所述校验密文是否一致,并在校验一致的情况下,获取与所述目标请求对应的响应消息,以及,将所述响应消息发送至所述终端设备。
7.一种数据加密装置,其特征在于,包括:
原始数据获取模块,用于获取待加密的原始数据;
中间密文获得模块,用于基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的链接变量的初始值,每次加密循环逻辑处理中使用的明文块、常量块、移位数,以及原始加密算法的循环次数中的至少一项进行自定义处理后获得,所述原始加密算法为MD5算法;
目标密文获得模块,用于根据所述多个中间密文,获得目标密文,
其中,所述中间密文获得模块还用于:
获取目标加密函数,将基于所述目标加密函数对数据进行循环加密的处理添加至所述原始加密算法的加密循环逻辑处理之后,设置所述目标加密函数的循环次数和所述原始加密算法的循环次数,得到所述目标加密算法;其中,所述目标加密算法中的所述目标加密函数的循环次数和所述目标加密算法中的所述原始加密算法的循环次数总和与所述原始加密算法中的原始加密算法的循环次数一致,所述目标加密函数为不同于所述原始加密函数的非线性函数。
8.一种电子设备,其特征在于,包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述电子设备执行如权利要求1-6任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行根据权利要求1-6中任意一项所述的方法。
CN202210115092.2A 2022-02-03 2022-02-03 数据加密方法、装置、电子设备及存储介质 Active CN114531284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210115092.2A CN114531284B (zh) 2022-02-03 2022-02-03 数据加密方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210115092.2A CN114531284B (zh) 2022-02-03 2022-02-03 数据加密方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114531284A CN114531284A (zh) 2022-05-24
CN114531284B true CN114531284B (zh) 2024-02-09

Family

ID=81622699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210115092.2A Active CN114531284B (zh) 2022-02-03 2022-02-03 数据加密方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114531284B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141421A (en) * 1996-12-10 2000-10-31 Hitachi, Ltd. Method and apparatus for generating hash value
CN106911712A (zh) * 2017-03-31 2017-06-30 杭州翼兔网络科技有限公司 一种应用于分布式***的加密方法及***
CN110995415A (zh) * 2019-12-31 2020-04-10 浪潮云信息技术有限公司 一种基于md5算法的加密算法
CN111865909A (zh) * 2020-06-08 2020-10-30 西安电子科技大学 Sgx侧信道攻击防御方法、***、介质、程序及应用

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141421A (en) * 1996-12-10 2000-10-31 Hitachi, Ltd. Method and apparatus for generating hash value
CN106911712A (zh) * 2017-03-31 2017-06-30 杭州翼兔网络科技有限公司 一种应用于分布式***的加密方法及***
CN110995415A (zh) * 2019-12-31 2020-04-10 浪潮云信息技术有限公司 一种基于md5算法的加密算法
CN111865909A (zh) * 2020-06-08 2020-10-30 西安电子科技大学 Sgx侧信道攻击防御方法、***、介质、程序及应用

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于网络处理器的VoIP网关设计;朱芳;章坚武;;杭州电子科技大学学报(05);全文 *
智能卡加密应用;许颖;;硅谷(06);全文 *

Also Published As

Publication number Publication date
CN114531284A (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
US10103888B2 (en) Method of performing keyed-hash message authentication code (HMAC) using multi-party computation without Boolean gates
CN114124480B (zh) 通信的认证方法、服务器、客户端、电子设备及存储介质
CN112202754B (zh) 一种数据加密方法、装置、电子设备及存储介质
CN109688098B (zh) 数据的安全通信方法、装置、设备及计算机可读存储介质
CN109981285B (zh) 一种口令保护方法、口令校验方法及***
CN110611670A (zh) 一种api请求的加密方法及装置
CN112637836A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113711564A (zh) 用于加密数据的计算机实现的方法和***
CN105450413A (zh) 一种密码的设置方法、装置和***
CN113572743A (zh) 数据加密、解密方法、装置、计算机设备和存储介质
CN115883052A (zh) 数据加密方法、数据解密方法、设备及存储介质
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN114785524A (zh) 电子***生成方法、装置、设备和介质
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
Goyal et al. Cryptographic security using various encryption and decryption method
US10200356B2 (en) Information processing system, information processing apparatus, information processing method, and recording medium
CN114531284B (zh) 数据加密方法、装置、电子设备及存储介质
Somaiya et al. Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed
CN110912683B (zh) 密码存储方法及装置、密码验证方法及装置
CN114329415A (zh) 一种基于随机图像方案的移动Web登录密码加密方法
Bojanova et al. Cryptography classes in bugs framework (BF): Encryption bugs (ENC), verification bugs (VRF), and key management bugs (KMN)
Yap et al. Security analysis of GCM for communication
CN112069472A (zh) 一种用户登录认证方法及***
KR20150103394A (ko) 암호화 시스템 및 그것의 암호 통신 방법
Haller Cloud storage systems: From bad practice to practical attacks

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