1.本公开实施例涉及信息安全
技术领域:
:,更具体地,涉及一种数据加密方法、装置、电子设备及计算机可读存储介质,本公开同时还涉及反爬虫方法。
背景技术:
::2.随着互联网技术的不断发展,为了方便获取数据,网络爬虫(webcrawler)被人们广泛应用,这虽然可以一定程度加快互联网信息的流通和传播,但因为网络爬虫在爬取数据时对服务器的大量访问,其也会导致服务器压力过大,同时,网络爬虫的过度使用也容易造成隐私数据泄露。3.为保证数据的安全性,目前较常使用的反爬虫方法是加密参数校验方法,即,由终端设备在向服务器发送的数据请求中添加加密参数,服务器在接收到数据请求之后,对该加密参数进行校验,并在校验通过的情况下,服务器才正常进行响应。4.然而,在上述方法中,一般是基于单一的加密算法对特定内容进行加密以得到加密参数,这使得加密得到的加密值,即密文通常较为固定,算法特征较为明显,容易使得爬虫工程师通过逆向分析很容易分析出加密参数的生成规则,从而突破反爬限制,对服务器压力以及用户隐私数据来带风险。技术实现要素:5.本公开的一个目的是提供一种用于数据加密的新的技术方案,以解决现有基于单一加密算法对数据进行加密时容易被逆向分析出密文生成规则的问题,从而可以降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。6.本公开的第一方面,提供了一种数据加密方法,所述方法包括:7.获取待加密的原始数据;8.基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;9.根据所述多个中间密文,获得目标密文。10.本公开的第二方面,提供了一种反爬虫方法,应用于终端设备,包括:11.获取待发送的原始请求,其中,所述原始请求中包括至少一个原始请求参数;12.根据所述原始请求对应的请求地址和所述至少一个原始请求参数,生成第一待加密数据;13.基于本公开的第一方面所述的方法对所述第一待加密数据进行加密处理,并将获得的密文作为目标加密参数;14.根据所述原始请求和所述目标加密参数,获得目标请求;15.将所述目标请求发送至服务器。16.本公开的第三方面,提供了另一种反爬虫方法,应用于服务器,包括:17.接收终端设备发送的目标请求,其中,所述目标请求中包括至少一个原始请求参数和目标加密参数;18.根据所述目标请求对应的请求地址和所述至少一个原始请求参数,生成第二待加密数据;19.基于本公开的第二方面所述的方法对所述第二待加密数据进行加密处理,并将获得的密文作为校验密文;20.校验所述目标加密参数和所述校验密文是否一致,并在校验一致的情况下,获取与所述目标请求对应的响应消息,以及,将所述响应消息发送至所述终端设备。21.本公开的第四方面,提供了一种数据加密装置,所述装置包括:22.原始数据获取模块,用于获取待加密的原始数据;23.中间密文获得模块,用于基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;24.目标密文获得模块,用于根据所述多个中间密文,获得目标密文。25.本公开的第五方面,还提供了一种电子设备,包括:26.存储器,用于存储可执行的指令;27.处理器,用于根据所述指令的控制运行所述电子设备执行本公开的第一方面、第二方面或第三方面所述的方法。28.本公开的第六方面,还提供了一种计算机可读存储介质的,所述计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行根据本公开的第一方面、第二方面或第三方面所述的方法。29.本公开实施例的一个有益效果在于,根据本公开的实施例,针对待加密的原始数据,首先通过基于对原始加密算法的加密逻辑进行用户自定义处理后获得的目标加密算法对原始数据进行加密处理,得到多个中间密文;之后,再基于该多个中间密文来获取最终的目标密文。区别于现有技术中基于单一的加密算法对数据进行加密的方法,该方法通过对原始加密算法的加密逻辑进行用户自定义处理,一方面可以提升加密得到的中间密文的复杂性,另一方面,根据得到的多个中间密文来生成目标密文,可以避免现有加密算法进行加密处理时得到的密文较为固定的问题,从而可以避免密文被逆向分析以得出生成规则的问题,基于该数据加密算法生成加密参数以进行反爬虫处理,可以有效降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。30.通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的其它特征及其优点将会变得清楚。附图说明31.被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书的原理。32.图1是本公开实施例提供的一种数据加密方法的流程示意图。33.图2是本公开实施例提供的加密算法的单次加密逻辑处理的示意图。34.图3是本公开实施例提供的一种反爬虫方法的流程示意图。35.图4是本公开实施例提供的另一种反爬虫方法的流程示意图36.图5是本公开实施例提供的数据加密装置的原理框图。37.图6是本公开实施例提供的电子设备的硬件结构示意图。具体实施方式38.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。39.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。40.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。41.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。42.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。43.《方法实施例一》44.请参看图1,其是本公开实施例提供的数据加密方法的流程示意图。该方法可以由电子设备实施,该电子设备可以为终端设备,也可以为服务器,此处不作特殊限定。45.如图1所述,本实施例的方法可以包括如下步骤s1100-s1300,以下予以详细说明。46.步骤s1100,获取待加密的原始数据。47.原始数据,可以为任意待加密的数据。48.具体地,原始数据可以为用户登录网络平台时的用户密码、文本、视频等数据,此处不作特殊限定。49.在一个实施例中,在反爬虫场景中,原始数据可以为用于生成加密参数的数据内容,在该场景下,原始数据可以根据终端设备待发送的数据请求对应的请求地址,即url以及请求参数等内容生成。例如,终端设备待发送的数据请求对应的url为“https://www.xxx.com/api/”,该数据请求中的原始请求参数:param1=val1,param2=val2,则可以通过拼接该请求地址和该原始请求参数获得该原始数据,即该原始数据可以为“https://www.xxx.com/api/param1=val1param2=val2”的形式。50.步骤s1200,基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;以及,执行步骤s1300,根据所述多个中间密文,获得目标密文。51.原始加密算法,可以为现有的、用于对数据进行加密的算法,例如,可以为信息摘要算法,例如,md5算法,或者也可以为对称加密算法或者非对称加密算法等算法;在本公开的实施例中,如无特说说明,以原始加密算法为信息摘要算法中的md5算法为例进行说明。52.具体地,在现有的反爬虫方法中,终端设备通常可以基于md5算法对数据进行加密,以生成加密参数。然而,由于md5算法的普及以及其具有的免费特性,各种编程语言均对其进行了较好的封装,这就使得用户在基于md5算法对数据进行加密时,通常并不会关注其底层实现而是基于各编程语言封装好的接口直接使用,这虽然方便了用户使用,但是由于md5算法对数据进行加密后得到的密文长度通常较为固定,即,均为128位,这容易造成爬虫工程师依据数据请求中加密参数的数据长度,很容易分析出其是基于md5算法对数据加密获得,从而突破反爬虫措施的限制;尤其是在现有常用密码的一次md5计算后密文、二次md5计算后密文甚至3次md5计算后密文均被计算且整理到一彩虹表(rainbowtable)中的情况下,这就使得基于现有md5算法加密获得的密文作为加密参数的反爬虫方法更容易被爬虫工程师破解。53.为此,在本公开的实施例中,为了提升密文被破解的难度,以确保数据的安全性,在一个实施例中,目标加密算法可以通过对md5算法的加密逻辑进行以下至少一项用户自定义处理后获得:第一项:对md5算法的链接变量的初始值、每次加密循环逻辑处理中使用的明文块、常量块以及移位数中的至少一项进行自定义处理;第二项:获取目标加密函数,在确保md5算法的加密循环逻辑处理的总循环次数不变的情况下,通过修改原始加密函数的循环次数,将基于所述目标加密函数对数据进行循环加密的处理添加至所述加密循环逻辑处理中,其中,所述目标加密函数为不同于所述原始加密函数的非线性函数。54.md5算法的原理具体为:md5码以512位分组来处理输入数据,并循环遍历每一个512位分组进行处理,且在处理每一个512位的分组时,还进一步的将其划分为16个32位的子分组,并经过一系列的加密循环逻辑处理后,将输出的四个32位分组拼接为一个128位的散列值作为输入数据的密文。55.通常,md5算法可以分为四个步骤:处理原文、设置初始值、循环加工和拼接结果,以下分别对该四个步骤进行简单说明。56.处理原文,是指针对输入数据进行填充处理,以使输入数据满足md5算法的处理规则,具体地,是以位为单位,将输入数据的二进制长度与512进行求余,并判断请求结果是否等于448,若等于448,则说明输入数据满足处理规则;否则,则需要对输入数据进行填充处理,以使其满足处理规则。57.设置初始值,是指设置md5加密循环逻辑处理的初始的链接变量的初始值,通常,md5算法的链接变量的初始值分别为a=0x67452301,b=0xefcdab89,c=0x98badcfe,d=0x10325476。58.请参看图2,循环加工,是指针对输入数据,以512位为一分组对其划分,并分别对每一分组进行预设次数,即,64次的加密循环逻辑处理,在如图2所示的单次加密逻辑处理中,基于初始化的四个链接变量、4个原始加密函数f()、明文块m、常量块k以及不同的移位数进行加密运算,并将本轮得到的a、b、c、d的值作为下一轮的4个链接变量的初始值以循环进行下一轮运算,所有循环后得到的a、b、c、d与初始a、b、c、d相加得到最终加密值。59.其中,在循环加工步骤中,所述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次。60.拼接结果,是指将针对最后一个512分组进行加密循环逻辑处理后得到的结果与其初始的链接变量的值相加后进行拼接以获得输入数据的密文。61.以上为对现有md5算法原理的简单说明,其详细处理过程此处不再赘述。在本公开的实施例中,为提升密文被破解难度,目标加密算法可以通过对现有md5算法中的链接变量,即最初始的a、b、c、d的初始值进行自定义、对每次加密循环逻辑处理中使用的明文块、常量块以及移位数等进行用户自定义处理后获得,以及,也可以自定义一目标加密函数jj(x,y,z)=(((y^z)&x)^z),并在保证原始的加密循环逻辑处理的总循环次数不变,即,依然为64的情况下,通过修改原始加密函数的循环次数,将用户自定义的目标加密函数添加至加密循环逻辑处理中,以获得目标加密算法。62.例如,在原始md5算法中,4个原始加密函数ff()、gg()、hh()、ii()各自循环16次,为此,可以通过将该4个原始加密函数的循环次数更改为各自循环15次,以及,在最后四次循环中基于目标加密函数jj()对数据进行加密处理,以获得目标加密算法。63.在根据以上任一项对原始加密算法的加密逻辑进行用户自定义处理获得目标加密算法后,在具体实施时,可以基于该目标加密算法直接对原始数据进行一次或者多次加密处理,并将得到的密文作为目标密文。例如,可以先基于目标加密算法对原始数据进行一次加密数据,得到密文1,再对密文1继续进行加密处理,依次类推进行多次加密,并将多次加密得到的密文作为最终的目标密文。然而,这虽然能够一定程度提升密文被破解的难度,但是,该方法得到的密文长度依然较为固定,即,依然为128,其依然存在被破解的可能。64.为解决该问题,在一个实施例中,在基于目标加密算法对原始数据进行加密处理之前,该方法还包括:获取随机字符串,并通过基于第三预设规则对该随机字符串和该原始数据进行拼接处理,获得更新后的原始数据,其中,所述随机字符串包括表示当前时间的毫秒级时间戳;在该实施例中,所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:基于目标加密算法对所述更新后的原始数据进行加密处理,获得多个中间密文。65.即,为增加加密内容的随机性,在获得原始数据之后,还可以在进行加密处理之前,获取一随机字符串,并将该随机字符串与原始数据拼接在一起,例如,将随机字符串拼接在原始数据的后边,以增加加密内容的随机性,使得即使针对同样的原始数据,每次加密处理后得到的密文也不相同。66.例如,在反爬虫场景下,在拼接数据请求对应的请求地址和所有原始请求参数得到原始数据之后,还可以将当前时间戳拼接在该原始数据之后,以更新该原始数据并增加原始数据的随机性,即,在原始数据为“https://www.xxx.com/api/param1=val1param2=val2”的情况下,可以通过拼接当前时刻的时间戳更新原始数据为https://www.xxx.com/api/param1=val1param2=val2timestamp=1642570636000。67.以上是以随机字符串为表示当前时间的毫秒级时间戳为例说明如何更新原始数据,以增加原始数据的随机性;在具体实施时,该随机字符串也可以基于其他随机算法生成,此处不做特殊限定。68.在一个实施例中,所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:基于目标加密算法对原始数据进行加密处理,获得第一密文;根据第一预设规则对第一密文和预设密文进行拼接处理,获得待加密的第一数据;基于目标加密算法对第一数据进行加密处理,获得第二密文;根据第一密文、第二密文和预设密文,获得目标密文。69.具体地,为进一步提升获得的目标密文被破解的难度,从而确保用户数据的安全性,在具体实施时,可以先基于目标加密算法对原始数据进行一次加密处理,得到第一密文,即hash1,之后,可以在进行二次加密时,在第一密文上拼接预设字符串,即添加“佐料(salt)”作为待加密的第一数据,之后,再对添加“佐料”后的第一数据继续进行加密处理,得到第二密文,即hash2。在该实施例中,所述根据第一预设规则对第一密文和预设密文进行拼接处理,可以是将预设密文拼接在第一密文之前、之后或者密文的中间,此处不做特殊限定;另外,该预设密文可以为同时由大小字母、数字、英文符号和中文符号构成的字符串,例如,可以为“td9#kn_p7vuw”的形式。70.在经过以上处理获得第一密文、第二密文之后,所述根据所述第一密文、所述第二密文和所述预设密文,获得目标密文,可以是根据第二预设规则对第一密文、第二密文和预设密文进行拼接处理,以获得目标密文。71.具体地,可以将第一密文hash1、第二密文hash2和预设密文按先后顺序拼接在一起,从而得到目标密文为hash1+hash2+预设密文。当然,在具体实施时,也可以基于其他方式拼接第一密文、第二密文和该预设密文,例如,在预设密文的长度较短的情况下,也可以在拼接上预设密文之后,再交替拼接hash1和hash2,此处不对拼接方式做特殊限定。72.根据以上说明可知,根据该实施例的方法得到的目标密文的长度为hash1的长度+hash2的长度+预设密文的长度,即128位+128位+预设密文的长度,这可以隐藏掉基于现有md5算法进行加密后得到的密文其长度固定为128位的特征,从而进一步提升目标密文被破解的难度。73.以上对本公开实施例提供的数据加密方法进行了详细说明,在具体实施时,可以将该数据加密方法应用于反爬虫场景下,具体在终端设备向服务器发送用于请求数据的原始请求时,获取该待发送的原始请求,并根据该原始请求对应的请求地址和该原始请求中包括的至少衣蛾原始请求参数,生成第一待加密数据,之后,基于本公开实施例提供的数据加密方法对该第一待加密数据进行加密处理,并将获得的密文作为目标加密参数;之后,可以通过在原始请求中加入该目标加密参数,以生成目标请求,并通过将该目标请求发送至服务器。74.在该场景下,服务器在接收到终端设备发送的该目标请求之后,可以先基于该目标请求对应的请求地址和该目标请求中除目标加密参数以外的其他原始请求参数,生成第二加密数据,并基于本公开实施例提供的数据加密方法对该第二加密数据进行加密处理,并将获得的报文作为校验密文;再之后,通过校验目标加密参数和该校验密文是否一致,即可确定终端设备发送的数据请求为正常请求还是网络爬虫发送的请求,若两者一致,则说明不是网络爬虫发送的数据请求,此时,服务器可以对该目标请求正常进行响应,并将获取到的响应消息发送至该终端设备;若两者不一致,则说明该目标请求可能为网络爬虫发送的数据请求,此时服务器可以不对该目标请求进行响应。75.需要说明的是,在具体实施时,若在原始数据中拼接了随机字符串,例如,拼接了表示当前时间的毫秒级字符串,则终端设备在获得目标加密参数并生成目标请求的过程中,还需要同时将该随机字符串作为请求参数,以便于服务器在获得目标请求之后,可以基于同样的数据获得校验密文以对目标请求进行校验,其详细处理过程此处不再赘述。76.还需要说明的是,以上是以将该数据加密方法应用于反爬虫场景中为例说明如何应用该数据加密方法,在具体实施时,也可以将该方法应用在其他场景下,例如,应用在对网络传输的文件、视频的校验场景下,以确保文件、视频等被完整传输。77.综上所述,本公开的实施例提供的数据加密方法,针对待加密的原始数据,首先通过基于对原始加密算法的加密逻辑进行用户自定义处理后获得的目标加密算法对原始数据进行加密处理,得到多个中间密文;之后,再基于该多个中间密文来获取最终的目标密文。区别于现有技术中基于单一的加密算法对数据进行加密的方法,该方法通过对原始加密算法的加密逻辑进行用户自定义处理,一方面可以提升加密得到的中间密文的复杂性,另一方面,根据得到的多个中间密文来生成目标密文,可以避免现有加密算法进行加密处理时得到的密文较为固定的问题,从而可以避免密文被逆向分析以得出生成规则的问题,基于该数据加密算法生成加密参数以进行反爬虫处理,可以有效降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。78.《方法实施例二》79.请参看图3,其是本公开实施例提供的一种反爬虫方法的流程示意图,该方法可以应用在终端设备中,例如,可以应用于手机、平板电脑、个人计算机等设备中。80.如图3所示,该方法包括步骤s3100-s3500:81.步骤s3100,获取待发送的原始请求,其中,所述原始请求中包括至少一个原始请求参数。82.步骤s3200,根据所述原始请求对应的请求地址和所述至少一个原始请求参数,生成第一待加密数据。83.步骤s3300,基于方法实施例一种任意一项所述的方法对所述第一待加密数据进行加密处理,并将获得的密文作为目标加密参数。84.步骤s3400,根据所述原始请求和所述目标加密参数,获得目标请求。85.步骤s3500,将所述目标请求发送至服务器。86.《方法实施例三》87.请参看图4,其是本公开实施例提供的另一种反爬虫方法的流程示意图,该方法可以应用在服务器中。88.如图4所示,该方法包括步骤s4100-s4400:89.步骤s4100,接收终端设备发送的目标请求,其中,所述目标请求中包括至少一个原始请求参数和目标加密参数。90.步骤s4200,根据所述目标请求对应的请求地址和所述至少一个原始请求参数,生成第二待加密数据。91.步骤s4300,基于方法实施例一种任意一项所述的方法对所述第二待加密数据进行加密处理,并将获得的密文作为校验密文。92.步骤s4400,校验所述目标加密参数和所述校验密文是否一致,并在校验一致的情况下,获取与所述目标请求对应的响应消息,以及,将所述响应消息发送至所述终端设备。93.《装置实施例》94.与上述方法实施例一相对应,在本实施例中,还提供一种数据加密装置,如图5所述,该装置500可以包括原始数据获取模块510、中间密文获得模块520和目标密文获得模块530。95.该原始数据获取模块510,用于获取待加密的原始数据;该中间密文获得模块520,用于基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;该目标密文获得模块530,用于根据所述多个中间密文,获得目标密文。96.《设备实施例》97.在本实施例中,还提供一种电子设备,如图6所述,该电子设备600可以包括处理器620和存储器610,该存储器610用于存储可执行的指令;该处理器620用于根据指令的控制运行电子设备以执行根据本公开任意实施例的方法。98.《计算机可读存储介质实施例》99.本实施例提供了一种计算机可读存储介质,该存储介质中存储有可执行命令,该可执行命令被处理器执行时,执行本说明书任意方法实施例中描述的方法。100.附图中的流程图和框图显示了根据本说明书的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。101.以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本
技术领域:
:的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本
技术领域:
:的其它普通技术人物能理解本文披露的各实施例。本技术的范围由所附权利要求来限定。当前第1页12当前第1页12
技术特征:
1.一种数据加密方法,其特征在于,包括:获取待加密的原始数据;基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;根据所述多个中间密文,获得目标密文。2.根据权利要求1所述的方法,其特征在于,所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:基于所述目标加密算法对所述原始数据进行加密处理,获得第一密文;根据第一预设规则对所述第一密文和预设密文进行拼接处理,获得待加密的第一数据;基于所述目标加密算法对所述第一数据进行加密处理,获得第二密文;根据所述第一密文、所述第二密文和所述预设密文,获得所述目标密文。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一密文、所述第二密文和所述预设密文,获得所述目标密文,包括:根据第二预设规则对所述第一密文、所述第二密文和所述预设密文进行拼接处理,获得所述目标密文。4.根据权利要求1所述的方法,其特征在于,所述原始加密算法包括md5算法;所述目标加密算法通过对所述md5算法的加密逻辑进行以下至少一项用户自定义处理后获得:对所述md5算法的链接变量的初始值、每次加密循环逻辑处理中使用的明文块、常量块以及移位数中的至少一项进行自定义处理;获取目标加密函数,在确保所述md5算法的加密循环逻辑处理的总循环次数不变的情况下,通过修改原始加密函数的循环次数,将基于所述目标加密函数对数据进行循环加密的处理添加至所述加密循环逻辑处理中,其中,所述目标加密函数为不同于所述原始加密函数的非线性函数。5.根据权利要求1所述的方法,其特征在于,在所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文步骤之前,所述方法还包括:获取随机字符串,并通过基于第三预设规则对所述随机字符串和所述原始数据进行拼接处理,获得更新后的原始数据,其中,所述随机字符串包括表示当前时间的毫秒级时间戳;所述基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,包括:基于目标加密算法对所述更新后的原始数据进行加密处理,获得多个中间密文。6.一种反爬虫方法,其特征在于,应用于终端设备,包括:获取待发送的原始请求,其中,所述原始请求中包括至少一个原始请求参数;根据所述原始请求对应的请求地址和所述至少一个原始请求参数,生成第一待加密数据;基于权利要求1-5任意一项所述的方法对所述第一待加密数据进行加密处理,并将获得的密文作为目标加密参数;根据所述原始请求和所述目标加密参数,获得目标请求;将所述目标请求发送至服务器。
7.一种反爬虫方法,其特征在于,应用于服务器,包括:接收终端设备发送的目标请求,其中,所述目标请求中包括至少一个原始请求参数和目标加密参数;根据所述目标请求对应的请求地址和所述至少一个原始请求参数,生成第二待加密数据;基于权利要求1-5任意一项所述的方法对所述第二待加密数据进行加密处理,并将获得的密文作为校验密文;校验所述目标加密参数和所述校验密文是否一致,并在校验一致的情况下,获取与所述目标请求对应的响应消息,以及,将所述响应消息发送至所述终端设备。8.一种数据加密装置,其特征在于,包括:原始数据获取模块,用于获取待加密的原始数据;中间密文获得模块,用于基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;目标密文获得模块,用于根据所述多个中间密文,获得目标密文。9.一种电子设备,其特征在于,包括:存储器,用于存储可执行的指令;处理器,用于根据所述指令的控制运行所述电子设备执行如权利要求1-7任意一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行根据权利要求1-7中任意一项所述的方法。
技术总结
本申请实施例提供了一种数据加密方法、装置、电子设备及存储介质,该方法包括:获取待加密的原始数据;基于目标加密算法对所述原始数据进行加密处理,获得多个中间密文,其中,所述目标加密算法通过对原始加密算法的加密逻辑进行用户自定义处理后获得;根据所述多个中间密文,获得目标密文。该方法可以解决现有基于单一加密算法对数据进行加密时容易被逆向分析出密文生成规则的问题,基于该数据加密算法生成加密参数以进行反爬虫处理,可以有效降低网络爬虫对服务器造成的压力以及可能带来的用户隐私数据泄露问题。用户隐私数据泄露问题。用户隐私数据泄露问题。
技术研发人员:尹海锋
受保护的技术使用者:百果园技术(新加坡)有限公司
技术研发日:2022.02.03
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-23345.html