CN109450622A - 数据加密方法、数据校验方法、装置、设备及存储介质 - Google Patents

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

Info

Publication number
CN109450622A
CN109450622A CN201811201186.1A CN201811201186A CN109450622A CN 109450622 A CN109450622 A CN 109450622A CN 201811201186 A CN201811201186 A CN 201811201186A CN 109450622 A CN109450622 A CN 109450622A
Authority
CN
China
Prior art keywords
encryption
data
password
salt
log
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
CN201811201186.1A
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 Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201811201186.1A priority Critical patent/CN109450622A/zh
Publication of CN109450622A publication Critical patent/CN109450622A/zh
Pending legal-status Critical Current

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据加密方法、数据校验方法、装置、设备及存储介质,首先获取明文数据,明文数据包括注册密码,使用第一不可逆加密算法加密注册密码得到第一加密数据;然后在第一加密数据中插入第一加密盐值,得到第二加密数据;使用第二不可逆加密算法加密第二加密数据,得到密文加密数据,最后在密文加密数据中插入第二加密盐值,得到目标加密数据。通过对明文数据中的注册密码进行两次不可逆加密和双层加盐,不但解决了使用密钥加密存在的密钥保管和分发过程过于复杂,安全性能不高的问题,还能确保他人无法通过暴力破解反推出明文数据,进一步提高了数据加密的安全性。

Description

数据加密方法、数据校验方法、装置、设备及存储介质
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据加密方法、数据校验方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的发展和成熟,大众使用互联网保存各种数据成了越来越普遍的事情。互联网保存数据不仅可以批量保存,还具有永久保存的优势,然而对于一些涉及隐私的敏感数据,人们往往希望可以对它进行加密保护,不让外人所知。因此一系列用来加密数据的加密算法开始逐步发展,例如:加密和解密过程使用相同密钥的的对称加密算法,加密和解密过程使用不同密钥的非对称加密算法,以及不可逆加密算法等。其中,对称和非对称加密算法都存在密钥的保管和分发问题,把密钥存储在前端,一旦被非法人员拿到密钥,即可通过破解,得到后端发送过来的数据,其安全性较低。而使用不可逆加密算法虽然不存在密钥的保管和分发问题,他人也无法通过正常的运算反推出明文密码,其安全性比使用密钥加密要高。但目前使用不可逆加密算法仍存在被暴力破解的可能性,特别是对于喜欢使用生日、手机号码、身份证号码、电话号码或者使用常用的一些吉利的数字,或者某个英文单词等等来作为系统密码的用户。当数据库中的密文密码不小心遭到泄露,攻击者通过使用一些暴力破解手段,对获取到密文密码进行反推,即可得到用户的明文密码,即用户输入的真正密码,然后通过撞库来登录用户的其他系统。因此,目前仅使用不可逆加密算法加密存入后端数据库的数据的安全性也是远远不够的,仍存在较大隐患,无法满足人们对数据的安全保障要求。
发明内容
本发明实施例提供一种数据加密方法、装置、设备及存储介质,以解决数据加密安全性不高的问题。
本发明实施例提供一种数据校验方法、装置、设备及存储介质,以解决数据校验安全性不高的问题。
一种数据加密方法,包括:
获取明文数据,明文数据包括注册密码;
使用第一不可逆加密算法加密注册密码得到第一加密数据;
在第一加密数据中插入第一加密盐值,得到第二加密数据;
使用第二不可逆加密算法加密第二加密数据,得到密文加密数据;
在密文加密数据中插入第二加密盐值,得到目标加密数据。
一种数据校验方法,包括:
获取登录用户名和校验密码;
查找与登录用户名对应的注册用户名,并获取与对应的注册用户名关联的密文加密数据和第一加密盐值,其中,密文加密数据是采用数据加密方法进行加密得到的;
使用第一不可逆加密算法加密校验密码,得到第一校验数据;
在第一校验数据中插入第一加密盐值,得到第二校验数据;
使用第二不可逆加密算法加密第二校验数据,得到密文校验数据;
在密文校验数据中插入第二加密盐值,得到目标校验数据;
若目标校验数据和目标加密数据一致,则校验密码校验通过。
一种数据加密装置,包括:
第一获取模块,用于获取明文数据,明文数据包括注册密码;
第一加密模块,用于使用第一不可逆加密算法加密注册密码得到第一加密数据;
第一加盐模块,用于在第一加密数据中插入第一加密盐值,得到第二加密数据;
第二加密模块,用于使用第二不可逆加密算法加密第二加密数据,得到密文加密数据;
第二加盐模块,用于在密文加密数据中插入第二加密盐值,得到目标加密数据。
一种数据校验装置,包括:
第二获取模块,用于获取登录用户名和校验密码;
查找模块,用于查找与登录用户名对应的注册用户名,并获取与对应的注册用户名关联的密文加密数据和第一加密盐值,其中,密文加密数据是采用数据加密方法进行加密得到的;
第三加密模块,用于使用第一不可逆加密算法加密校验密码,得到第一校验数据;
第三加盐模块,用于在第一校验数据中插入第一加密盐值,得到第二校验数据;
第四加密模块,用于使用第二不可逆加密算法加密第二校验数据,得到密文校验数据;
第四加盐模块,用于在密文校验数据中插入第二加密盐值,得到目标校验数据;
对比模块,用于判断所述目标校验数据和所述目标加密数据是否一致,若一致,则所述校验密码校验通过。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据加密方法的步骤,或者所述处理器执行所述计算机程序时实现上述数据校验方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据加密方法的步骤,或者所述计算机程序被处理器执行时实现上述数据校验方法的步骤。
上述数据加密方法、装置、计算机设备及存储介质,通过对明文数据中的注册密码进行两次不可逆加密和双层加盐,不但解决了使用密钥加密存在的密钥保管和分发过程过于复杂,安全性能不高的问题,还能确保他人无法通过暴力破解反推出明文数据,实现了对明文数据的逐层加密,进一步提高了数据加密的安全性。
上述数据校验方法、装置、计算机设备及存储介质,通过对校验密码进行两次不可逆加密和双层加盐,得到目标校验数据,再将得到目标校验数据和目标加密数据进行对比,得出校验结果;进一步提高了数据加密的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据加密方法或数据校验方法的一应用环境示意图;
图2是本发明一实施例中数据加密方法的一示例图;
图3是本发明一实施例中数据加密方法的另一示例图;
图4是本发明一实施例中数据加密方法的另一示例图;
图5是本发明一实施例中数据加密方法的另一示例图;
图6是本发明一实施例中数据加密装置的一原理框图;
图7是本发明一实施例中数据校验方法的一示例图;
图8是本发明一实施例中数据校验装置的一原理框图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一数据加密方法,该数据加密方法可应用如图1所示的应用环境中。具体地,该数据加密方法应用在一数据加密系统中,该数据加密系统包括如图1所示的客户端和服务端,客户端与服务端通过网络进行通信,用于解决数据加密安全性不高的问题。客户端将明文数据发送到服务端,服务端对明文数据中的注册密码进行加密,最终得到目标加密数据。其中,客户端又称为用户端,是指与服务端相对应,为客户提供本地服务的设备。客户端不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据加密方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10:获取明文数据,明文数据包括注册密码。
明文数据是指用户在客户端进行账户注册时输入的信息,明文数据包括注册密码。注册密码是指用户在特定平台注册账户时所设置的密码。可选地,注册密码可以由数字、字母或者符号中的至少一种组成。其中,字母包括大写字母和小写字母。从密码安全性考虑,优选地,注册密码是数字、小写字母和大写字母的组合。
在一个具体实施方式中,明文数据还包括注册用户名,可选地,注册用户名可以是用户的身份证号码、手机号、QQ邮箱或者微信号等。优选地,每个用户的注册用户名与对应的注册密码,以及后续加密后的密文加密数据相关联。
为了增强注册密码的准确性,用户在进行账户注册时需连续多次输入一致的注册密码,客户端首先校验用户多次输入的注册密码是否一致,若多次输入的注册密码一致,表示注册密码输入正确。然后客户端将用户的注册密码发送到服务端进行保存,完成账户注册。
S20:使用第一不可逆加密算法加密注册密码得到第一加密数据。
其中,不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后数据由服务端直接经过加密算法处理成密文数据,这种加密后的数据是无法被解密的,只有重新输入明文数据,并再次经过同样不可逆的加密算法处理,得到相同的密文数据并被系统重新识别后,才能真正解密。可选地,不可逆加密算法可以为MD5加密算法或者SHA加密算法。其中,第一不可逆加密算法是指从不可逆加密算法中选取的一种加密算法。
具体地,用户可根据不同的需求,选择任意一种不可逆加密算法,或者由服务端预先默认选择一种不可逆加密算法。由于MD5加密算法生成的是32位MD5码,SHA加密算法生成的是40位SHA码,所以在密码分析的安全性上,使用SHA加密算法加密比使用MD5算法加密更不易受密码分析的攻击;在运行速度上,使用MD5算法加密比使用SHA算法加密的运行速度更快,性能更高。因此,在考虑数据加密的加密速度时,可以选择MD5加密算法,在考虑数据加密的安全性时,可以选择SHA加密算法。
示例性地,若服务端获取到用户进行注册时输入的注册用户名为abc10086,注册密码为12345。采用MD5加密算法加密注册密码12345,得到第一加密数据:e10adc3949ba59abbe56e057f20f883e。
在该步骤中,采用第一不可逆加密算法对注册密码进行加密,得到第一加密数据。由于第一不可逆加密算法不存在密钥保管和分发问题的特征,安全性比使用密钥加密的对称加密和非对称加密要高,其次第一不可逆加密算法具有不可逆性,通过正常的运算无法反推出明文数据。因此,采用第一不可逆加密算法对注册密码进行加密的安全性远远比采用对称和非对称加密算法对注册密码进行加密的安全性要高。
S30:在第一加密数据中插入第一加密盐值,得到第二加密数据。
第一加密盐值是一个预设的字符串。具体地,可以是预先设置的固定字符串,或者是服务端随机生成的一个n位字符串(n为正整数),即计算机按照一定的运算规则随机产生的一串伪随机数,例如在Java中可采用线性同余算法产生伪随机数。优选地,第一加密盐值是由服务端随机产生的16位字符串。
第一加密盐值可以是由数字、字母或者符号中的至少一种组成。其中,字母可以分为大写字母和小写字母。从安全性考虑,优选地,第一加密盐值是数字、小写字母和大写字母的组合。
插入第一加密盐值是指按照预置规则在需处理的第一加密数据中插入第一加密盐值,让散列后的数据和需处理的数据的散列结果不相符。具体地,预置规则指根据实际需要或者加密安全性而设定的加密规则,该预置规则可以定义为第一加密盐值的长度、元素种类,或者将第一加密盐值插入到第一加密数据中的特定位置等。例如,若该预置规则为将第一加密盐值插入到第一加密数据中的末尾,则在该步骤中,根据预置规则将第一加密盐值插入到第一加密数据中的末尾中。
优选地,在固定位置插入特定位数的第一加密盐值后,还可以对插入第一加密盐值后的字符串进行倒序处理,使经加盐加密后的结果不容易被破解。
示例性地,服务端随机产生16位的第一加密盐值:M3Ytsj6YdfluaLva,将第一加密数据插入第一加密盐值,得到第二加密数据:e10adc3949ba59abbe56e057f20f883eM3Ytsj6YdfluaLva。
在该步骤中,对于使用弱密码的账户,在使用MD5加密后再加入一个稍微复杂点的第一加密盐值(比如GUID/UUID),就能极大地提高注册密码的安全性。以GUID/UUID作为第一加密盐值为例,不管明文数据多简单,再加一个32位的第一加密盐值,得到的第二加密数据也在32位以上,攻击者就不容易通过MD5字典来破解。
S40:使用第二不可逆加密算法加密第二加密数据,得到密文加密数据。
其中,该步骤中的第二不可逆加密算法与步骤S20中的第一不可逆加密算法可以相同或不同,可使用MD5加密算法或使用SHA加密算法对第二加密数据进行加密,生成的密文加密数据属于密文字符串,优选地,生成的密文字符串的位数为32位。
在该步骤中,使用第二不可逆加密算法对第二加密数据再次加密得到密文加密数据后,即使他人获取到密文加密数据的值和插入的第一加密盐值,通过暴力破解得到的仍是经过第一不可逆加密算法加密得到的第一加密数据,仍无法轻易反推出明文数据。
示例性地,将步骤S30中的第二加密数据再使用MD5加密算法进行加密,得到密文加密数据:12fc65dc68539a10ca29a2e28e366b29。
S50:在密文加密数据中插入第二加密盐值,得到目标加密数据。
具体地,在密文加密数据中插入的第二加密盐值与在第一加密数据中插入的第一加密盐值的产生方法和插入过程相同,但插入的加密盐值可以相同或者不相同。若使用相同的加密盐值,则直接从数据库调用第一加密盐值即可,若使用不相同的加密盐值,则由服务端再次随机产生。优选地,从安全性能方面考虑,使用不相同的加密盐值可使整个数据加密过程更加复杂,更不易被破解。
同样的,第二加密盐值可以是预先设置的固定字符串,或者是服务端随机生成的n位字符串(n为正整数),插入第二加密盐值是指按照预置规则在需处理的密文加密数据中插入第二加密盐值,让散列后的数据和需处理的数据的散列结果不相符。具体地,预置规则指根据实际需要或者加密安全性而设定的加密规则,该预置规则可以定义为第二加密盐值的长度、元素种类,或者将第二加密盐值插入到密文加密数据中的位置等。
例如,若该预置规则为将第二加密盐值插入到密文加密数据中的末尾,则在该步骤中,根据预置规则将第二加密盐值插入到密文加密数据中的末尾中。
示例性地,在密文加密数据中插入第二加密盐值,得到目标加密数据:2fc65dc68539a10ca29a2e28e366b29M3Ytsj6YdfluaLva。
在本步骤中,在密文加密数据中插入第二加密盐值,得到目标加密数据。其中第二加密盐值与第一加密盐值可以相同或不同,用户可根据具体情况而定,在保证数据加密的安全性的同时,还能提高数据加密处理的效率。
在本实施例中,通过对明文数据中的注册密码进行两次不可逆加密和双层加盐,不但解决了使用密钥加密存在的密钥保管和分发过程过于复杂,安全性能不高的问题,还能确保他人无法通过暴力破解反推出明文数据,实现了对明文数据的逐层加密加盐,进一步提高了数据加密的安全性。
在一个实施例中,如图3所示,在第一加密数据中插入第一加密盐值,得到第二加密数据,具体包括:
S301:根据注册密码生成第一加密盐值。
用户设置的注册密码有些比较简单有些比较复杂,复杂度不一致,如果采用一致的处理方式,有可能导致最后加密数据的安全性不统一。因此,根据用户注册密码的复杂度去生成对应的第一加密盐值,对设置的较为简单的注册密码对应地生成较复杂的第一加密盐值,对设置的较为复杂的注册密码对应地生成较简单的第一加密盐值。具体地,可以根据注册密码的密码长度和注册密码的组成元素的种类等来衡量注册密码的复杂度。若注册密码的密码长度较短或者组成元素较为单一,则可以增加第一加密盐值的复杂度,例如增加第一加密盐值的长度或者组成元素。相反地,若注册密码的密码长度较长或者组成元素较为复杂,则可以对应地减少第一加密盐值的复杂度,例如减少第一加密盐值的长度或者组成元素。
示例性地,用户的注册密码为123456,则生成的第一加密盐值至少为3种元素的组合,例如为:M3Ytsj6YdfluaLva。
S302:在第一加密数据中插入第一加密盐值,生成插入结果。
具体地,将根据注册密码生成的第一加密盐值插入到第一加密数据的预定位置上,该预定位置可以是第一加密数据的前端或末尾或中间的任意一处。具体地,服务端可以根据用户的不同而预设不同的预定位置,将同一用户的预定位置设置为固定的,并将用户的预定位置与注册用户名、密文加密数据、和第一加密盐值进行关联存储,以保证后续校验环节的顺利。
S303:对插入结果进行倒序排列,得到第二加密数据。
具体地,对插入结果进行倒序排列指将插入第一加密盐值的插入结果从最后一位反向提取到的第一位,并进行重新排列。
示例性地,对插入结果:
e10adc3949ba59abbe56e057f20f883eM3Ytsj6YdfluaLva;
进行倒序排列,得到第二加密数据为:
avLaulfdY6jstY3Me388f02f750e65ebba95ab9493cda01e。
在该步骤中,根据注册密码生成第一加密盐值,在第一加密数据的预定位置插入第一加密盐值,再对插入后得到的插入结果进行倒序排列,层层递进,层层复杂化,进一步提高了数据加密的安全性。
在一个实施例中,如图4所示,根据注册密码生成第一加密盐值,具体包括:
S3011:检测注册密码的密码长度和元素种类。
其中,密码长度是指注册密码的字符长度。例如,对于注册密码123456,该注册密码的密码长度为6。元素种类是指注册密码中不同元素的类别,而元素可以为数字、字母或者符号等。例如,对于注册密码12ab34,该注册密码的元素种类为2。可以理解地,还可以将大写字母和小写字母作为不同的元素种类。
由于每个用户输入的注册密码都是不一样的,服务端在获取到用户输入的注册密码时,会先对输入的注册密码进行长度和元素种类的查询和检测,并将检测结果暂存到数据库中。
S3012:根据注册密码长度和元素种类得到密码复杂度。
密码复杂度是对注册密码的一个复杂程度的度量。具体地,可以根据注册密码的密码长度和元素种类共同确定密码复杂度。具体地,确定注册密码的密码长度和元素种类,然后将注册密码的密码长度和元素种类进行求和,得到密码复杂度。
具体地,对根据密码长度和元素种类进行求和的结果进行等级分类,分为一二三等级;第一等级表示复杂度最低,第二等级表示复杂度中等,第三等级表示复杂度最高。
示例性地,如果用户设置的注册密码为123456,密码长度为6,元素种类为1,求和后的结果7,表示第一等级,复杂度最低;如果用户设置的注册密码为123456abcde.密码长度为11,元素种类为2,求和后的结果为13,表示第二等级,复杂度一般;如果用户设置的注册密码为123456abcDEFghi,密码长度为15,元素种类为3,求和后的结果为18,表示第三等级,复杂度最高。
S3013:根据注册密码的密码复杂度生成对应的第一加密盐值。
服务器对注册密码的不同等级复杂度生成不同的第一加密盐值,若注册密码的密码复杂度为第一等级,则生成的第一加密盐值的长度至少为12位数,且至少包含3种不同的元素种类;若注册密码的密码复杂度为第二等级,则生成的第一加密盐值的长度至少为8位数,且至少包含2种不同的元素种类;若注册密码的密码复杂度为第三等级,则随机生成第一加密盐值。
在该步骤中,首先根据注册密码的密码长度和注册密码的组成元素的种类等来衡量注册密码的复杂度,然后根据注册密码的复杂度生成对应的第一加密盐值,不但将整个加盐加密过程复杂灵活化,还能将不同用户的加密数据的安全性保持在同等水平。
在一个实施例中,如图5所示,根据注册密码的密码长度和元素种类得到密码复杂度,包括:
S30121:获取密码长度对应的长度权值和元素种类对应的种类权值;
其中,长度权值指注册密码的长度相对于密码复杂度的重要程度。种类权值指注册密码的种类相对于密码复杂度的重要程度。具体地,用户可根据不同需求对注册密码的密码长度和元素种类对应的长度权值和种类权值赋予大小不同的数值。
优选地,若注册密码的密码长度和元素种类的求和结果相同,增加注册密码的一种元素种类往往比增加注册密码的一长度位数复杂度要高,因此可意设置元素种类对应的长度权值大于密码长度对应的长度权值。
S30122:根据长度权值和种类权值将密码长度和元素种类进行加权相加,得到密码复杂度。
获取注册密码的密码长度和元素种类对应的长度权值和种类权值后,将密码长度乘于长度权值后的结果与元素种类乘于种类权值后的结果进行相加,得到密码复杂度。
示例性地,若获取到密码长度的长度权值为0.6,元素种类的种类权值为1,A用户设置的注册密码为123456789,密码长度为9,元素种类为1,则求和后的结果为6.4;B用户设置的注册密码aBC468,密码长度为6,元素种类为3,则求和后的结果为6.6,故B用户的注册密码的复杂度比A用户的注册密码的复杂度高。因此,根据长度权值和种类权值将密码长度和元素种类进行加权相加,得到的结果精准度更高。
在本实施例中,先获取注册密码的密码长度和元素种类对应的长度权值和种类权值;然后再根据长度权值和种类权值将密码长度和元素种类进行加权相加,得到密码复杂度,进一步增加了密码复杂度的精准度。
在一个实施例中,明文数据还包括注册用户名;在密文加密数据中插入第二加密盐值,得到目标加密数据的步骤之后,数据加密方法还包括:
将注册用户名、目标加密数据、第一加密盐值和第二加密盐值进行关联存储。
本实施例中,将注册用户名、密文加密数据、第一加密盐值和第二加密盐值进行关联存储,在后续数据校验中,根据用户输入的用户注册名,可直接调用存储在服务端中的密文加密数据、第一加密盐值和第二加密盐值,使校验过程更加方便。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据加密装置,该数据加密装置与上述实施例中数据加密方法一一对应。如图6所示,该数据加密装置包括第一获取模块10、第一加密模块20、第一加盐模块30、第二加密模块40和第二加盐模块50。各功能模块详细说明如下:
第一获取模块10,用于获取明文数据,明文数据包括注册密码;
第一加密模块20,用于使用第一不可逆加密算法加密注册密码得到第一加密数据;
第一加盐模块30,用于在第一加密数据中插入第一加密盐值,得到第二加密数据;
第二加密模块40,用于使用第二不可逆加密算法加密第二加密数据,得到密文加密数据。
第二加盐模块50,在密文加密数据中插入第二加密盐值,得到目标加密数据。
优选地,第一加盐模块30包括:
生成子模块,用于根据注册密码生成第一加密盐值;
插入子模块,用于在第一加密数据中插入第一加密盐值,生成插入结果;
排列子模块,用于对插入结果进行倒序排列,得到第二加密数据。
优选地,生成子模块包括:
检测单元,用于检测注册密码的密码长度和元素种类;
密码复杂度获取单元,用于根据注册密码的密码长度和元素种类得到密码复杂度;
生成单元,用于根据注册密码的密码复杂度生成对应的第一加密盐值。
优选地,密码复杂度获取单元包括:
权值获取子单元,用于获取密码长度对应的长度权值和元素种类对应的种类权值;
密码复杂度计算子单元,用于根据长度权值和种类权值将密码长度和元素种类进行加权相加,得到密码复杂度。
关于数据加密装置的具体限定可以参见上文中对于数据方法的限定,在此不再赘述。上述数据装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明一实施例提供一种数据校验方法,该数据校验方法可应用如图1所示的应用环境中。具体地,该数据校验方法应用在数据校验系统中,该数据校验系统包括如图1所示的客户端和服务端,客户端与服务端通过网络进行通信,用于解决数据校验安全性不高的问题。客户端获取登录用户名和校验密码,服务端对校验密码进行校验,得到校验结果。其中,客户端又称为用户端,是指与服务端相对应,为客户提供本地服务的设备。客户端不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图7所示,提供一种数据校验方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S100:获取登录用户名和校验密码。
登录用户名指用户在注册时设置的一种身份识别信息,可以是身份证号,微信号、手机号或者QQ号等。校验密码是指用户在每一次进行系统登录时输入的明文密码。具体地,用户通过客户端登录已注册了账户的系统,分别输入登录用户名和校验密码,客户端将登录用户名和校验密码发送到服务端,服务端获取到登录用户名和校验密码。
S110:查找与登录用户名对应的注册用户名,并获取与对应的注册用户名关联的目标加密数据、第一加密盐值和第二加密盐值,其中,目标加密数据是采用数据加密方法进行加密得到的。
用户在客户端登录已注册了账户的系统,输入登录用户名后,客户端会将登录用户名发送到服务端,服务端根据接收到的登录用户名,快速查找与登录用户名相同的注册用户名,若查找成功,则将与注册用户名相关联存储的目标加密数据、第一加密盐值和第二加密盐值返回给客户端,若查找失败,则提示用户“该账户为未注册账户,请先进行注册”。其中,目标加密数据为通过上述实施例中的数据加密方法进行加密得到的。
示例性地,获取到用户输入的登录用户名为abc10086,校验密码为888888。查找到和登录用户名对应的注册用户名abc10086,并获取注册用户名abc10086对应的密文加密数据为12fc65dc68539a10ca29a2e28e366b29,第一加密盐值为M3Ytsj6YdfluaLva,第二加密盐值为M3Ytsj6YdfluaLva。
S120:使用第一不可逆加密算法加密校验密码,得到第一校验数据。
S130:在第一校验数据中插入第一加密盐值,得到第二校验数据。
S140:使用第二不可逆加密算法加密第二校验数据,得到密文校验数据。
S150:在密文校验数据中插入第二加密盐值,得到目标校验数据。
在获取到与对应的注册用户名关联的密文加密数据、第一加密盐值和第二加密盐值之后,对校验密码执行对应的加密过程。其中,上述步骤S120-S150中的加密过程和第一阶段的S20-S50相似,在此不再赘述。通过将校验密码进行步骤S120-S150中的加密过程,即得到密文校验数据。
S160:若目标校验数据和目标加密数据一致,则校验密码校验通过。
若检验到目标校验数据和步骤S110中查找到的目标加密数据相同,则表明校验成功,校验密码校验通过,用户登录成功。
可选地,若检验到目标校验数据和步骤S110查找到的目标加密数据不相同时,表明校验不成功,用户登录失败,提醒用户重新输入用户名或者校验密码。
此步骤中的数据校验过程与数据加密过程是相对应,数据校验实质是对加密后的数据进行进一步的校验;在不妨碍用户对系统进行正常登录操作的情况下,还能进一步保证用户加密数据的安全性。
在本实施例中,对校验密码进行两次不可逆加密和双层加盐,得到目标校验数据,再将得到目标校验数据和目标加密数据进行对比,得出校验结果;进一步提高了数据校验的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据校验装置,该数据校验装置与上述实施例中数据校验方法一一对应。如图8所示,该数据校验装置包括第二获取模块100、查找模块110、第三加密模块120、第三加盐模块130、第四加密模块140、第四加盐模块150和对比模块160。各功能模块详细说明如下:
第二获取模块100,用于获取登录用户名和校验密码;
查找模块110,用于查找与登录用户名对应的注册用户名,并获取与对应的注册用户名关联的密文加密数据和第一加密盐值,其中,密文加密数据是采用数据加密方法进行加密得到的;
第三加密模块120,用于使用第一不可逆加密算法加密校验密码,得到第一校验数据;
第三加盐密模块130,用于在第一校验数据中插入第一加密盐值,得到第二校验数据;
第四加密模块140,用于使用第二不可逆加密算法加密第二校验数据,得到密文校验数据;
第四加盐密模块150,用于在密文校验数据中插入第二加密盐值,得到目标校验数据;
对比模块160,用于判断目标校验数据和目标加密数据是否一致,若一致,则校验密码校验通过。
关于数据校验装置的具体限定可以参见上文中对于数据校验方法的限定,在此不再赘述。上述数据校验装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述数据加密方法和上述数据校验方法中使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据加密方法,或者该计算机程序被处理器执行时以实现一种数据校验方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中数据加密方法的步骤,或者处理器执行计算机程序时实现上述实施例中数据校验方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中数据加密方法的步骤,或者计算机程序被处理器执行时实现上述实施例中数据校验方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据加密方法,其特征在于,包括:
获取明文数据,所述明文数据包括注册密码;
使用第一不可逆加密算法加密所述注册密码得到第一加密数据;
在所述第一加密数据中插入第一加密盐值,得到第二加密数据;
使用第二不可逆加密算法加密所述第二加密数据,得到密文加密数据;
在所述密文加密数据中插入第二加密盐值,得到目标加密数据。
2.如权利要求1所述的数据加密方法,其特征在于,所述在所述第一加密数据中插入第一加密盐值,得到第二加密数据,具体包括:
根据所述注册密码生成第一加密盐值;
在所述第一加密数据中插入所述第一加密盐值,生成插入结果;
对所述插入结果进行倒序排列,得到第二加密数据。
3.如权利要求2所述的数据加密方法,其特征在于,所述根据所述注册密码生成第一加密盐值,包括:
检测所述注册密码的密码长度和元素种类;
根据所述注册密码的密码长度和元素种类得到密码复杂度;
根据所述注册密码的密码复杂度生成对应的第一加密盐值。
4.如权利要求3所述的数据加密方法,其特征在于,所述根据所述注册密码的密码长度和元素种类得到密码复杂度,包括:
获取所述密码长度对应的长度权值和所述元素种类对应的种类权值;
根据所述长度权值和种类权值将所述密码长度和元素种类进行加权相加,得到密码复杂度。
5.如权利要求1所述的数据加密方法,其特征在于,所述明文数据还包括注册用户名;
在所述密文加密数据中插入第二加密盐值,得到目标加密数据的步骤之后,所述数据加密方法还包括:
将所述注册用户名、所述目标加密数据、所述第一加密盐值和所述第二加密盐值进行关联存储。
6.一种数据校验方法,其特征在于,包括:
获取登录用户名和校验密码;
查找与所述登录用户名对应的注册用户名,并获取与所述对应的注册用户名关联的目标加密数据、第一加密盐值和第二加密盐值,其中,所述目标加密数据是采用权利要求1所述的数据加密方法进行加密得到的;
使用第一不可逆加密算法加密所述校验密码,得到第一校验数据;
在所述第一校验数据中插入第一加密盐值,得到第二校验数据;
使用第二不可逆加密算法加密所述第二校验数据,得到密文校验数据;
在所述密文校验数据中插入第二加密盐值,得到目标校验数据;
若所述目标校验数据和所述目标加密数据一致,则所述校验密码校验通过。
7.一种数据加密装置,其特征在于,包括:
第一获取模块,用于获取明文数据,所述明文数据包括注册密码;
第一加密模块,用于使用第一不可逆加密算法加密所述注册密码得到第一加密数据;
第一加盐模块,用于在所述第一加密数据中插入第一加密盐值,得到第二加密数据;
第二加密模块,用于使用第二不可逆加密算法加密所述第二加密数据,得到密文加密数据;
第二加盐模块,用于在所述密文加密数据中插入第二加密盐值,得到目标加密数据。
8.一种数据校验装置,其特征在于,包括:
第二获取模块,用于获取登录用户名和校验密码;
查找模块,用于查找与所述登录用户名对应的注册用户名,并获取与所述对应的注册用户名关联的密文加密数据和第一加密盐值,其中,所述密文加密数据是采用权利要求1所述的数据加密方法进行加密得到的;
第三加密模块,用于使用第一不可逆加密算法加密所述校验密码,得到第一校验数据;
第三加盐模块,用于在所述第一校验数据中插入第一加密盐值,得到第二校验数据;
第四加密模块,用于使用第二不可逆加密算法加密所述第二校验数据,得到密文校验数据;
第四加盐模块,用于在所述密文校验数据中插入第二加密盐值,得到目标校验数据。
对比模块,用于判断所述目标校验数据和所述目标加密数据是否一致,若一致,则所述校验密码校验通过。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的数据加密方法的步骤,或者所述处理器执行所述计算机程序时实现如权利要求6所述的数据校验方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据加密方法的步骤,或者所述计算机程序被处理器执行时实现如权利要求6所述的数据校验方法的步骤。
CN201811201186.1A 2018-10-16 2018-10-16 数据加密方法、数据校验方法、装置、设备及存储介质 Pending CN109450622A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811201186.1A CN109450622A (zh) 2018-10-16 2018-10-16 数据加密方法、数据校验方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811201186.1A CN109450622A (zh) 2018-10-16 2018-10-16 数据加密方法、数据校验方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN109450622A true CN109450622A (zh) 2019-03-08

Family

ID=65545128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811201186.1A Pending CN109450622A (zh) 2018-10-16 2018-10-16 数据加密方法、数据校验方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109450622A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918877A (zh) * 2019-03-21 2019-06-21 深圳市网心科技有限公司 一种数据加密方法、系统、客户端及计算机可读存储介质
CN110493207A (zh) * 2019-08-06 2019-11-22 北京达佳互联信息技术有限公司 一种数据处理方法、装置、电子设备和存储介质
CN110611568A (zh) * 2019-09-20 2019-12-24 天翼电子商务有限公司 基于多种加解密算法的动态加解密方法、装置、及设备
CN111314321A (zh) * 2020-01-21 2020-06-19 深圳前海环融联易信息科技服务有限公司 参数加密管理方法、装置、计算机设备及存储介质
CN111506912A (zh) * 2020-04-21 2020-08-07 北京思特奇信息技术股份有限公司 一种接口安全化交互方法及系统
CN111984978A (zh) * 2020-08-13 2020-11-24 成都安恒信息技术有限公司 一种高扩展性密码加密存储方法
CN112565156A (zh) * 2019-09-10 2021-03-26 北京京东尚科信息技术有限公司 信息注册方法、装置和系统
CN113014380A (zh) * 2021-02-08 2021-06-22 深圳市亿图软件有限公司 文件数据的密码管理方法、装置、计算机设备及存储介质
CN113051585A (zh) * 2021-03-10 2021-06-29 宁波小遛共享信息科技有限公司 一种数据校验方法、装置、电子设备和存储介质
CN114663550A (zh) * 2022-03-17 2022-06-24 北京华伟恒远信息系统技术有限公司 用于线上签章的会议管理方法、装置、会议平台及介质
CN115694831A (zh) * 2022-10-12 2023-02-03 南方电网数字电网研究院有限公司 一种基于域控可信计算认证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721390A (zh) * 2014-12-01 2016-06-29 阿里巴巴集团控股有限公司 一种加密存储方法和装置
CN106301763A (zh) * 2016-08-31 2017-01-04 国家超级计算深圳中心(深圳云计算中心) 一种基于二重盐值的数据加密与解密方法及系统
CN106656476A (zh) * 2017-01-18 2017-05-10 腾讯科技(深圳)有限公司 一种密码保护方法及装置
WO2018024056A1 (zh) * 2016-08-05 2018-02-08 华为技术有限公司 用户口令管理的方法和服务器
CN108134666A (zh) * 2018-02-07 2018-06-08 北京安博通科技股份有限公司 一种加密解密方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721390A (zh) * 2014-12-01 2016-06-29 阿里巴巴集团控股有限公司 一种加密存储方法和装置
WO2018024056A1 (zh) * 2016-08-05 2018-02-08 华为技术有限公司 用户口令管理的方法和服务器
CN106301763A (zh) * 2016-08-31 2017-01-04 国家超级计算深圳中心(深圳云计算中心) 一种基于二重盐值的数据加密与解密方法及系统
CN106656476A (zh) * 2017-01-18 2017-05-10 腾讯科技(深圳)有限公司 一种密码保护方法及装置
CN108134666A (zh) * 2018-02-07 2018-06-08 北京安博通科技股份有限公司 一种加密解密方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918877A (zh) * 2019-03-21 2019-06-21 深圳市网心科技有限公司 一种数据加密方法、系统、客户端及计算机可读存储介质
CN110493207A (zh) * 2019-08-06 2019-11-22 北京达佳互联信息技术有限公司 一种数据处理方法、装置、电子设备和存储介质
CN110493207B (zh) * 2019-08-06 2022-02-25 北京达佳互联信息技术有限公司 一种数据处理方法、装置、电子设备和存储介质
CN112565156A (zh) * 2019-09-10 2021-03-26 北京京东尚科信息技术有限公司 信息注册方法、装置和系统
CN110611568A (zh) * 2019-09-20 2019-12-24 天翼电子商务有限公司 基于多种加解密算法的动态加解密方法、装置、及设备
CN110611568B (zh) * 2019-09-20 2022-10-28 天翼电子商务有限公司 基于多种加解密算法的动态加解密方法、装置、及设备
CN111314321A (zh) * 2020-01-21 2020-06-19 深圳前海环融联易信息科技服务有限公司 参数加密管理方法、装置、计算机设备及存储介质
CN111506912A (zh) * 2020-04-21 2020-08-07 北京思特奇信息技术股份有限公司 一种接口安全化交互方法及系统
CN111984978A (zh) * 2020-08-13 2020-11-24 成都安恒信息技术有限公司 一种高扩展性密码加密存储方法
CN111984978B (zh) * 2020-08-13 2022-11-29 成都安恒信息技术有限公司 一种高扩展性密码加密存储方法
CN113014380A (zh) * 2021-02-08 2021-06-22 深圳市亿图软件有限公司 文件数据的密码管理方法、装置、计算机设备及存储介质
CN113051585A (zh) * 2021-03-10 2021-06-29 宁波小遛共享信息科技有限公司 一种数据校验方法、装置、电子设备和存储介质
CN114663550A (zh) * 2022-03-17 2022-06-24 北京华伟恒远信息系统技术有限公司 用于线上签章的会议管理方法、装置、会议平台及介质
CN115694831A (zh) * 2022-10-12 2023-02-03 南方电网数字电网研究院有限公司 一种基于域控可信计算认证方法
CN115694831B (zh) * 2022-10-12 2024-06-18 南方电网数字电网研究院有限公司 一种基于域控可信计算认证方法

Similar Documents

Publication Publication Date Title
CN109450622A (zh) 数据加密方法、数据校验方法、装置、设备及存储介质
JP6489328B2 (ja) 動的なマニューシャの予想される変化に基づく暗号セキュリティ機能
Turan et al. Recommendation for password-based key derivation
US11741218B2 (en) System and method for improving the security of stored passwords for an organization
KR102048756B1 (ko) 무선단말기에서 정보를 관리하기 위한 방법 및 장치
US10924289B2 (en) Public-private key pair account login and key manager
CN107078899B (zh) 混淆数据的方法
CN112469036B (zh) 一种消息加解密方法、装置、移动终端和存储介质
Shukla et al. Encryption algorithm in cloud computing
US11321448B1 (en) System and method for improving the security of stored passwords for an organization
EP2339777A2 (en) Method of authenticating a user to use a system
US20170019261A1 (en) Relational encryption for password verification
CN110750810A (zh) 数据脱敏方法、装置、计算机设备和存储介质
GB2488310A (en) A method and system for authenticating a computer user by using an array of elements
US20220167152A1 (en) Systems and methods for authenticating a subscriber identity module swap
CN107944234A (zh) 一种Android设备的刷机控制方法
US10133860B2 (en) Computer implemented systems and methods for generating and recovering an authorization code
Turan et al. Sp 800-132. recommendation for password-based key derivation: Part 1: Storage applications
US11502840B2 (en) Password management system and method
WO2019025181A1 (en) METHOD FOR SECURING SOFTWARE CODE PROVIDING ACCESS TO CONSULTATION TABLES
Sreelaja et al. An image edge based approach for image password encryption
CN111092721B (zh) 一种设置访问口令的方法及装置
Shin et al. Forensic analysis of note and journal applications
Balilo et al. Design of physical authentication based on OTP KeyPad
Sarumi et al. Towards Data Storage Security in Cloud Computing Using Hybridized Advanced Encryption Standard & Authentication Scheme

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190308