CN113158218A - 数据加密方法、装置及数据解密方法、装置 - Google Patents
数据加密方法、装置及数据解密方法、装置 Download PDFInfo
- Publication number
- CN113158218A CN113158218A CN202110556897.6A CN202110556897A CN113158218A CN 113158218 A CN113158218 A CN 113158218A CN 202110556897 A CN202110556897 A CN 202110556897A CN 113158218 A CN113158218 A CN 113158218A
- Authority
- CN
- China
- Prior art keywords
- content
- signature
- data
- algorithm
- preset
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 127
- 238000006243 chemical reaction Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000012795 verification Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据加密方法及装置,该方法包括:获取待加密的明文内容以及用户登录标识码;根据预设的转换算法将所述用户登录标识码转换得到初始化向量;根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容;根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。本申请还提供一种数据解密方法及装置。本申请通过转换算法将用户登录标识码转换成加密过程中的初始化向量,用于实现数据加密和签名,从而能够有效地保证该用户登录标识码对应的用户数据的安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据加密方法、装置及数据解密方法、装置。
背景技术
随着互联网技术的不断发展和智能终端的广泛普及,通过智能终端实现的各种业务的应用程序的功能也变得愈发复杂多样。有的应用程序只需要对用户身份进行认证,而一些对安全性有着更高要求的应用程序还需要对传输数据进行加密,来避免重要数据被篡改或者泄漏。对于前者,当前较为流行的做法是采用基于令牌(Token)的身份认证方式;而对于安全性要求更高的后者,则会使用加密算法,比如较为常见的非对称加密算法和对称加密算法。
然而,对于以上列举的基于令牌的身份认证方式或者使用现有的对称加密/非对称加密算法实现的加密数据,当令牌或者加密密钥被第三方获取之后,则会直接导致加密数据被非法获取。也就是说,现有技术中的数据加密方式的安全性并不高。
发明内容
本申请提出一种数据加密方法及装置,能够解决现有技术中数据加密方式的安全性不高的问题。
首先,为实现上述目的,本申请提供一种数据加密方法,所述方法包括:
获取待加密的明文内容以及用户登录标识码;根据预设的转换算法将所述用户登录标识码转换得到初始化向量;根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容;根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
在一个例子中,所述转换算法为消息摘要算法,所述根据预设的转换算法将所述用户登录标识码转换得到初始化向量包括:通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。
在一个例子中,所述加密算法为适用于所述初始化向量的字节长度的对称加密算法。
在一个例子中,在所述根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容之后,所述方法还包括:根据预设的校验算法则对所述密文内容进行加密,得到密文内容校验值;根据所述签名算法对所述密文内容校验值和所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
进一步地,本申请还提供一种数据解密方法,所述方法包括:
接收待解密的加密数据;根据预设的验签规则对所述加密数据中的签名内容执行验签;若验签通过,则从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码;根据预设的转换算法将所述用户登录标识码转换得到初始化向量;根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容。
在一个例子中,所述转换算法为消息摘要算法,所述根据预设的转换算法将所述用户登录标识码转换得到初始化向量包括:通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。
在一个例子中,所述从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码包括:根据预设的数据格式从所述加密数据对应的数据体中提取出所述密文内容、从所述签名内容对应的数据体中提取出用户登录标识码。
在一个例子中,所述签名内容还包括密文内容校验值,在所述根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容步骤之前,所述方法还包括:根据预设的校验算法对所述密文内容进行加密,得到算术校验值;判断所述算术校验值与所述密文内容校验值是否相同;若所述算术校验值与所述密文内容校验值不相同,结束数据解密过程,并提示数据解密失败。
此外,为实现上述目的,本申请还提供一种数据加密装置,所述装置包括:
获取模块,用于获取待加密的明文内容以及用户登录标识码;第一转换模块,用于根据预设的转换算法将所述用户登录标识码转换得到初始化向量;加密模块,用于根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容;签名模块,用于根据预设的签名算法对和所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
以及,本申请还提供一种数据解密装置,所述装置包括:
接收模块,用于接收待解密的加密数据;验签模块,用于根据预设的验签规则对所述加密数据中的签名内容执行验签;提取模块,用于若验签通过,则从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码;第二转换模块,用于根据预设的转换算法将所述用户登录标识码转换得到初始化向量;解密模块,用于根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容。
进一步地,本申请还提出一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的数据加密方法的步骤,或实现如上述的数据解密方法的步骤。
进一步地,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据加密方法的步骤,或执行如上述的数据解密方法的步骤。
相较于现有技术,本申请所提出的数据加密方法及装置,能够获取待加密的明文内容以及用户登录标识码;根据预设的转换算法将所述用户登录标识码转换得到初始化向量;根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容;根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。通过转换算法将用户登录标识码转换成加密过程中的初始化向量,用于实现数据加密和签名,从而能够有效地保证该用户登录标识码对应的用户数据的安全性。
附图说明
图1是本申请一实施例的应用环境示意图;
图2是本申请数据加密方法一具体实施例的流程示意图;
图3是本申请数据解密方法一具体实施例的流程示意图;
图4是本申请一示例性例子中数据加密方法的流程效果图;
图5是本申请一示例性例子中数据解密方法的流程效果图;
图6是本申请数据加密装置一实施例的程序模块示意图;
图7是本申请数据解密装置一实施例的程序模块示意图;
图8是本申请计算机设备一可选的硬件架构的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1是本申请一实施例的应用环境示意图。参阅图1所示,所述计算机设备1与计算机设备2连接,所述计算机设备1与所述计算机设备2能够相互之间进行数据交互。当所述计算机设备1或者所述计算机设备2向对方发送数据时,还可以根据预先约定的加密过程对待发送的明文内容进行一系列数据加密,得到加密数据;然后所述计算机设备2或所述计算机设备1接收到对方发送的加密数据,则可以根据数据加密过程的逆过程执行数据解密,从而获取加密数据对应的明文内容。
在本实施例中,以所述计算机设备1向所述计算机设备2发送数据为例进行说明。其中,所述计算机设备1获取待加密的明文内容以及用户登录标识码;然后根据预设的转换算法将所述用户登录标识码转换得到初始化向量;再根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容;最后,根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据,所述加密数据即为要发送至所述计算机设备2的数据。
接着,所述计算机设备2接收待解密的加密数据,然后根据预设的验签规则对所述加密数据中的签名内容执行验签;若验签通过,则从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码,然后根据预设的转换算法将所述用户登录标识码转换得到初始化向量,最后,根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容。
在本实施例中,所述计算机设备1和所述计算机设备2均可作为手机、平板、便携设备、PC机或者服务器等电子设备。
实施例一
图2是本申请数据加密方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备1为执行主体进行示例性描述。
如图2所示,所述数据加密方法可以包括步骤S200~S206。
步骤S200,获取待加密的明文内容以及用户登录标识码。
步骤S202,根据预设的转换算法将所述用户登录标识码转换得到初始化向量。
具体的,用户登录到所述计算机设备1上的应用程序,一般都需要通过预先注册的登录账号,然后才能通过登录账号对应的账号向所述计算机设备2传递数据。在本实施例中,所述计算机设备1在用户登录之后,则会获取到对应的用户登录标识码,也就是用户的登录账号在应用程序对应的服务器上注册的具有唯一性的字符串编码。同时,用户通过所述计算机设备1向所述计算机设备2传递数据,因此,所述计算机设备1也可以获取到用户需要传递的数据,也就是待加密的明文内容。
所述计算机设备1在获取到用户登录标识码之后,则会进一步根据预设的转换算法将所述用户登录标识码转换得到初始化向量。在本实施例中,所述转换算法为消息摘要算法,所述计算机设备1根据预设的转换算法将所述用户登录标识码转换得到初始化向量包括:通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。
例如,所述转换算法为MD5(Message-Digest Algorithm 5)算法,MD5算法一种被广泛使用的密码散列函数,可以将任意字符串进行运算,从而产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。所述计算机设备1通过MD5算法将所述用户登录标识码转换成预设位数的初始化向量,比如16位字节长度的ASCII字符串。其中,在密码学的领域里,初始化向量(IV,Initialization Vector),或译初向量,又称初始变量(SV,StartingVariable),是一个固定长度的输入值,一般是随机数或拟随机数,使用初始化向量才能达到语义安全,加强加密数据的安全性。
步骤S204,根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容。
具体的,所述计算机设备1根据用户登录标识码生成所述初始化向量之后,则会进一步根据预设的加密算法基于所述初始化向量执行对待加密的所述明文内容的加密,然后得到对应的密文内容。在本实施例中,所述加密算法为适用于所述初始化向量的字节长度的对称加密算法。例如,所述加密算法可以是AES(Advanced Encryption Standard,高级加密标准)算法,是目前最常见的一种对称加密算法,其密钥长度分为:128比特、192比特和256比特,且拥有五种加密模式:ECB(Electronic Codebook Book)、CBC(Cipher BlockChaining)、CTR(Counter)、CFB(Cipher FeedBack)和OFB(Output FeedBack)。当所述初始化向量为16字节长度时,那么,所述计算机设备1则可以选择所述AES算法中的CBC模式,从而适用于所述初始化向量的字节长度。
所述计算机设备1通过将所述初始化向量根据所述加密算法中预设的混编规则混编到所述明文内容中,再根据所述加密算法中预设的密钥将混编有初始化向量后的明文内容进行加密,从而完成数据加密的过程,得到对应的密文内容。
步骤S206,根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
所述计算机设备1对所述明文内容执行加密得到对应的所述密文内容之后,还会进一步对所述用户登录标识码执行签名,得到签名内容,然后与所述密文内容一同作为加密数据发送至所述计算机设备2。
在本实施例中,所述计算机设备1通过JWT(Json Web Toke)令牌的方式将所述用户登录标识码执行签名,得到签名内容。其中,JWT是一种由头信息(header)、消息体(payload)和签名(签名哈希值)(signature)三部分组成的Json格式的令牌(token),用于在网络应用中传递声明。例如,可以选择RSA算法作为所述签名算法将所述用户登录标识码进行签名,从而生成JWT令牌,所述JWT令牌中包括有所述用户登录标识码以及签名哈希值。RSA是目前使用最广的非对称加密算法,可用于数据加解密也可用于数字签名认证,安全性较高。
然后,所述计算机设备1根据所述签名内容和所述密文内容生成加密数据发送至所述计算机设备2,比如,以发送请求数据的方式将加密数据发送至所述计算机设备2,其中,可以将所述签名内容存放在请求头,所述密文内容存放在请求体。
在另一具体实施例中,所述计算机设备1在所述根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容之后,还可以执行步骤:根据预设的校验算法则对所述密文内容进行加密,得到密文内容校验值;根据所述签名算法对所述密文内容校验值和所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。其中,所述计算机设备1通过将所述密文内容校验值和所述用户登录标识码进行签名,从而得到对应的一份签名内容,并与所述密文内容一同作为加密数据发送至所述计算机设备2,从而,在解密过程中,所述计算机设备2需要对所述密文内容校验值和所述用户登录标识码验证通过后,才能保证所述密文内容未被篡改,从而保障了所述密文内容的安全性。
例如,所述计算机设备1在得到所述密文内容之后,进一步根据MD5算法对所述密文内容进行加密,从而得到一个密文内容校验值,然后再将所述密文内容校验值和所述用户登录标识码一同进行签名加密,得到对应的签名内容,然后再将所述签名内容与所述密文内容一同作为加密数据;最后,所述计算机设备1将所述加密数据发送至所述计算机设备2。
从上述内容可知,所述计算机设备1通过将用户登录标识码转换成初始化向量后用于对明文内容进行加密,从而得到对应的密文内容。因此,加密过程必须要用户通过原有的用户登录账号登录后才能执行。在一示例性例子中,当用户未登录时,所述初始化向量则等于所述计算机设备1与所述计算机设备2预先约定的16个字节长度的相同密钥串,比如一个固定字符串的加密初始化向量;当用户登录时,将用户登录标识码作为初始化向量,这样可巧妙的将用户登录标识码与加密初始化向量联系起来。因此,在解密过程中,即使第三方获取到加密密钥、验签规则和初始化向量,也仅限于当前用户发送的当次密文内容;当用户重新登录以后此所述初始化向量也会随着用户登录标识码的刷新而修改,从而第三方并不能破解该用户的下一次发送的密文内容,从而极大的提升了用户传递的数据的安全性。
实施例二
图3是本申请数据解密方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。
如图3所示,所述数据加密方法可以包括步骤S300~S308。
步骤S300,接收待解密的加密数据。
步骤S302,根据预设的验签规则对所述加密数据中的签名内容执行验签。
步骤S304,若验签通过,则从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码。
具体的,所述计算机设备2接收到所述计算机设备1发送的加密数据之后,则会根据预设的验签规则对所述加密数据中的签名内容执行验签。例如,所述验签规则包括了对于签名内容中的签名哈希值的验证方式;当所述计算机设备2根据所述验签规则对所述签名哈希值进行验证,比如,验证格式,或者验证字符串排序等,若所述计算机设备2验签通过,那么,则会进一步从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码。
在一具体实施例中,所述计算机设备2所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码包括:根据预设的数据格式从所述加密数据对应的数据体中提取出所述密文内容、从所述签名内容对应的数据体中提取出用户登录标识码。例如,所述加密数据对应的数据格式中包括请求头和请求体,所述密文内容存储在所述请求体,所述签名内容存储在所述请求头,而所述用户登录标识码则包含在所述签名内容中,那么,所述计算机设备2则会先识别出所述加密数据对应的数据体中的请求头和请求体,然后再分别根据请求头和请求体对应的数据格式从所述请求头和请求体中提取出所述用户登录标识码和所述密文内容。
步骤S306,根据预设的转换算法将所述用户登录标识码转换得到初始化向量。
具体的,所述计算机设备2获取到所述用户登录标识码之后,则会根据预设的转换算法将所述用户登录标识码转换得到初始化向量。在一具体实施例中,所述转换算法为消息摘要算法,所述计算机设备2根据预设的转换算法将所述用户登录标识码转换得到初始化向量包括:通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。例如,所述转换算法为MD5算法,所述计算机设备2则通过MD5算法将所述用户登录标识码转换成预设位数的初始化向量,比如16位字节长度的ASCII字符串。
步骤S308,根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容。
所述计算机设备2将所述用户登录标识码转换成所述初始化向量之后,则进一步根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,从而解密出所述密文内容对应的明文内容。例如,所述计算机设备2根据预设的解密密钥和解密规则对所述密文内容进行对应的格式转换,或字符串的插入和删减,从而得到所述密文内容对应的明文内容。
在一具体实施例中,当所述签名内容还包括密文内容校验值时,所述计算机设备2在所述根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容之前,还会执行步骤:根据预设的校验算法对所述密文内容进行加密,得到算术校验值;判断所述算术校验值与所述密文内容校验值是否相同;若所述算术校验值与所述密文内容校验值不相同,结束数据解密过程,并提示数据解密失败;若所述算术校验值与所述密文内容校验值相同,那么,所述计算机设备2才会执行步骤S308。
请参阅图4和图5,图4是本发明一示例性例的数据加密方法的流程效果图,图5是本发明一示例性例的数据解密方法的流程效果图。在本实施例中,计算机设备1向计算机设备2传递数据,那么所述计算机设备1对数据进行加密并发送给所述计算机设备2。
其中,数据加密过程包括:所述计算机设备1先获取待传递的数据,即明文内容;然后获取用户登录标识码;接着,所述计算机设备1根据用户登录标识码计算出初始化向量,例如,通过MD5算法计算出所述初始化向量;再根据所述初始化向量,以及预设的加密算法,比如AES加密(aes-128-cbc),对所述明文内容进行加密,得到密文内容;然后,所述计算机设备1进一步对所述密文内容执行MD5加密以生成所述密文内容的数字签名n;最后,再对所述用户登录标识码和所述数字签名n进行签名,比如JWT签名(RS256),从而生成令牌,并将所述令牌与所述密文内容作为加密数据发送至所述计算机设备2。
对于数据解密过程:所述计算机设备2接收加密数据,然后对所述加密数据中的令牌进行验签,即JWT验签,并在验签不成功的情况下直接结束数据解密过程;当验签成功时,所述计算机设备2则会从所述加密数据中获取密文内容,然后再对所述密文内容进行MD5加密,从而生成所述密文内容的数字签名n1;接着,所述计算机设备2判断所述n1是否等于n;当n1不等于n的情况下直接结束数据解密过程;当n1等于n时,所述计算机设备2进一步从所述令牌中获取用户登录标识码;然后根据所述用户登录标识码计算出初始化向量,例如,通过MD5算法计算出所述初始化向量;最后,再基于所述初始化向量根据预设的解密算法,比如AES加密(aes-128-cbc),对所述密文内容进行解密,生成明文内容。
综合上述实施例一和实施例二所描述的内容可知,相对于现有技术,本申请在数据加密过程中,通过转换算法将用户登录标识码转换成加密过程中的初始化向量用于执行数据加密和签名,而在数据解密过程中,则需要根据接收到的签名内容中提取出用户登录标识码,然后转换成初始化向量用于执行数据解密;通过基于用户登录标识码实现数据加解密和签名,从而能够有效地保证该用户登录标识码对应的用户数据的安全性。
实施例三
图6示意性示出了根据本申请实施例三的数据加密装置的框图,该数据加密装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图6所示,该数据加密装置400可以包括获取模块410、第一转换模块420、加密模块430和签名模块440,其中:
获取模块410,用于获取待加密的明文内容以及用户登录标识码。
第一转换模块420,用于根据预设的转换算法将所述用户登录标识码转换得到初始化向量。
加密模块430,用于根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容。其中,所述加密算法为适用于所述初始化向量的字节长度的对称加密算法。
签名模块440,用于根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
在示例性的实施例中,所述转换算法为消息摘要算法,第一转换模块420,还用于:通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。
在示例性的实施例中,签名模块440,还用于:根据预设的校验算法则对所述密文内容进行加密,得到密文内容校验值;根据所述签名算法对所述密文内容校验值和所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
实施例四
图7示意性示出了根据本申请实施例四的数据解密装置的框图,该数据解密装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图7所示,该数据解密装置600可以包括接收模块610、验签模块620、提取模块630、第二转换模块640和解密模块650,其中:
接收模块610,用于接收待解密的加密数据。
验签模块620,用于根据预设的验签规则对所述加密数据中的签名内容执行验签。
提取模块630,用于若验签通过,则从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码。
第二转换模块640,用于根据预设的转换算法将所述用户登录标识码转换得到初始化向量。
解密模块650,用于根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容。
在示例性的实施例中,所述转换算法为消息摘要算法,第二转换模块640,还用于:通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。
在示例性的实施例中,提取模块630,还用于:根据预设的数据格式从所述加密数据对应的数据体中提取出所述密文内容、从所述签名内容对应的数据体中提取出用户登录标识码。
在示例性的实施例中,所述密文内容还包括校验值,解密模块650,还用于:根据预设的校验算法对所述密文内容进行加密,得到算术校验值;判断所述算术校验值与所述密文内容校验值是否相同;若所述算术校验值与所述密文内容校验值不相同,结束数据解密过程,并提示数据解密失败。
实施例五
图8示意性示出了根据本申请实施例五的适于实现数据加密方法的计算机设备1,或者实现数据解密方法的计算机设备2的硬件架构示意图。本实施例中,计算机设备100是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是具有网关功能的机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,计算机设备100至少包括但不限于:可通过系统总线相互通信链接存储器510、处理器520、网络接口530。其中:
存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备100的内部存储模块,例如该计算机设备100的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备100的外部存储设备,例如该计算机设备100上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器510还可以既包括计算机设备100的内部存储模块也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备100的操作系统和各类应用软件,例如数据加密方法的程序代码,或者数据解密方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器520在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器520通常用于控制计算机设备100的总体操作,例如执行与计算机设备100进行数据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储器510中存储的程序代码或者处理数据。
网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常用于在计算机设备100与其他计算机设备之间建立通信链接。例如,网络接口530用于通过网络将计算机设备100与外部终端相连,在计算机设备100与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件510-530的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器510中的数据加密方法的程序代码,或者数据解密方法的程序代码还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器520)所执行,以完成本申请实施例。
实施例六
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现如实施例一所述的数据加密方法的步骤,或实施例二所述的数据解密方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中数据加密方法的程序代码,或者数据解密方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。
Claims (12)
1.一种数据加密方法,其特征在于,所述方法包括:
获取待加密的明文内容以及用户登录标识码;
根据预设的转换算法将所述用户登录标识码转换得到初始化向量;
根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容;
根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
2.如权利要求1所述的数据加密方法,其特征在于,所述转换算法为消息摘要算法,所述根据预设的转换算法将所述用户登录标识码转换得到初始化向量包括:
通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。
3.如权利要求2所述的数据加密方法,其特征在于,所述加密算法为适用于所述初始化向量的字节长度的对称加密算法。
4.如权利要求1-3中任一项所述的数据加密方法,其特征在于,在所述根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容之后,所述方法还包括:
根据预设的校验算法则对所述密文内容进行加密,得到密文内容校验值;
根据所述签名算法对所述密文内容校验值和所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
5.一种数据解密方法,其特征在于,所述方法包括:
接收待解密的加密数据;
根据预设的验签规则对所述加密数据中的签名内容执行验签;
若验签通过,则从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码;
根据预设的转换算法将所述用户登录标识码转换得到初始化向量;
根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容。
6.如权利要求5所述的数据解密方法,其特征在于,所述转换算法为消息摘要算法,所述根据预设的转换算法将所述用户登录标识码转换得到初始化向量包括:
通过所述消息摘要算法将所述用户登录标识码转换为预设字节长度的字符串,将所述字符串记录为所述初始化向量。
7.如权利要求5所述的数据解密方法,其特征在于,所述从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码包括:
根据预设的数据格式从所述加密数据对应的数据体中提取出所述密文内容、从所述签名内容对应的数据体中提取出用户登录标识码。
8.如权利要求5-7中任一项所述的数据解密方法,其特征在于,所述签名内容还包括密文内容校验值,在所述根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容步骤之前,所述方法还包括:
根据预设的校验算法对所述密文内容进行加密,得到算术校验值;
判断所述算术校验值与所述密文内容校验值是否相同;
若所述算术校验值与所述密文内容校验值不相同,结束数据解密过程,并提示数据解密失败。
9.一种数据加密装置,其特征在于,所述装置包括:
获取模块,用于获取待加密的明文内容以及用户登录标识码;
第一转换模块,用于根据预设的转换算法将所述用户登录标识码转换得到初始化向量;
加密模块,用于根据预设的加密算法基于所述初始化向量对所述明文内容执行加密,得到密文内容;
签名模块,用于根据预设的签名算法对所述用户登录标识码执行签名,得到签名内容,并将所述签名内容和所述密文内容作为加密数据。
10.一种数据解密装置,其特征在于,所述装置包括:
接收模块,用于接收待解密的加密数据;
验签模块,用于根据预设的验签规则对所述加密数据中的签名内容执行验签;
提取模块,用于若验签通过,则从所述加密数据中提取出密文内容、从所述签名内容中提取出用户登录标识码;
第二转换模块,用于根据预设的转换算法将所述用户登录标识码转换得到初始化向量;
解密模块,用于根据预设的解密算法基于所述初始化向量对所述密文内容执行解密,得到明文内容。
11.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-4中任一项所述的数据加密方法的步骤,或实现如权利要求5-8中任一项所述的数据解密方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-4中任一项所述的数据加密方法的步骤,或执行如权利要求5-8中任一项所述的数据解密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556897.6A CN113158218B (zh) | 2021-05-21 | 2021-05-21 | 数据加密方法、装置及数据解密方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556897.6A CN113158218B (zh) | 2021-05-21 | 2021-05-21 | 数据加密方法、装置及数据解密方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113158218A true CN113158218A (zh) | 2021-07-23 |
CN113158218B CN113158218B (zh) | 2024-08-27 |
Family
ID=76877009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110556897.6A Active CN113158218B (zh) | 2021-05-21 | 2021-05-21 | 数据加密方法、装置及数据解密方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113158218B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115913581A (zh) * | 2023-02-27 | 2023-04-04 | 湖南半岛医疗科技有限公司 | 一种医疗数据管理方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867474A (zh) * | 2010-04-26 | 2010-10-20 | 武汉大学 | 数字签名方法 |
CN104125055A (zh) * | 2014-06-25 | 2014-10-29 | 小米科技有限责任公司 | 加密、解密方法及电子设备 |
BRPI0907183A2 (pt) * | 2008-01-11 | 2015-07-14 | France Telecom | Método e entidade para encriptação simétrica probabilítica |
CN110086603A (zh) * | 2019-04-30 | 2019-08-02 | 中国联合网络通信集团有限公司 | 字符串的加密和解密方法、装置、产品标识及制造方法 |
CN110147678A (zh) * | 2019-05-21 | 2019-08-20 | 湖南大学 | 一种用于工控系统的数据加密方法和系统 |
CN110166489A (zh) * | 2019-06-24 | 2019-08-23 | 深圳开立生物医疗科技股份有限公司 | 一种物联网中数据传输方法、系统、设备及计算机介质 |
CN110519309A (zh) * | 2019-10-15 | 2019-11-29 | 中国建设银行股份有限公司 | 数据传输方法、装置、终端、服务器及存储介质 |
CN110602218A (zh) * | 2019-09-17 | 2019-12-20 | 深圳市迅雷网络技术有限公司 | 一种自定义组装云服务的方法及相关装置 |
US20200320178A1 (en) * | 2019-04-03 | 2020-10-08 | Arris Enterprises Llc | Digital rights management authorization token pairing |
CN111865984A (zh) * | 2020-07-21 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种用于微服务系统的无状态鉴权方法 |
-
2021
- 2021-05-21 CN CN202110556897.6A patent/CN113158218B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI0907183A2 (pt) * | 2008-01-11 | 2015-07-14 | France Telecom | Método e entidade para encriptação simétrica probabilítica |
CN101867474A (zh) * | 2010-04-26 | 2010-10-20 | 武汉大学 | 数字签名方法 |
CN104125055A (zh) * | 2014-06-25 | 2014-10-29 | 小米科技有限责任公司 | 加密、解密方法及电子设备 |
US20200320178A1 (en) * | 2019-04-03 | 2020-10-08 | Arris Enterprises Llc | Digital rights management authorization token pairing |
CN110086603A (zh) * | 2019-04-30 | 2019-08-02 | 中国联合网络通信集团有限公司 | 字符串的加密和解密方法、装置、产品标识及制造方法 |
CN110147678A (zh) * | 2019-05-21 | 2019-08-20 | 湖南大学 | 一种用于工控系统的数据加密方法和系统 |
CN110166489A (zh) * | 2019-06-24 | 2019-08-23 | 深圳开立生物医疗科技股份有限公司 | 一种物联网中数据传输方法、系统、设备及计算机介质 |
CN110602218A (zh) * | 2019-09-17 | 2019-12-20 | 深圳市迅雷网络技术有限公司 | 一种自定义组装云服务的方法及相关装置 |
CN110519309A (zh) * | 2019-10-15 | 2019-11-29 | 中国建设银行股份有限公司 | 数据传输方法、装置、终端、服务器及存储介质 |
CN111865984A (zh) * | 2020-07-21 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种用于微服务系统的无状态鉴权方法 |
Non-Patent Citations (4)
Title |
---|
朱长安: ""基于私钥的终端数据安全研究"", 中国优秀硕士学位论文全文数据库-信息科技辑》, no. 2018, pages 138 - 110 * |
朱长安: "基于私钥的终端数据安全研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 2018, pages 138 - 110 * |
朱长安: "基于私钥的终端数据安全研究", 中国优秀硕士学位论文全文数据库-信息科技辑, pages 138 - 110 * |
朱长安: "基于私钥的终端数据安全研究", 硕士电子期刊, no. 2018, pages 5 - 37 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115913581A (zh) * | 2023-02-27 | 2023-04-04 | 湖南半岛医疗科技有限公司 | 一种医疗数据管理方法及系统 |
CN115913581B (zh) * | 2023-02-27 | 2023-05-16 | 湖南半岛医疗科技有限公司 | 一种医疗数据管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113158218B (zh) | 2024-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493197B (zh) | 一种登录处理方法及相关设备 | |
WO2020233373A1 (zh) | 一种应用程序的配置文件管理方法及装置 | |
CN113364760A (zh) | 一种数据加密处理方法、装置、计算机设备及存储介质 | |
CN111835511A (zh) | 数据安全传输方法、装置、计算机设备及存储介质 | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
CN112511514A (zh) | 一种http加密传输方法、装置、计算机设备及存储介质 | |
CN111555872A (zh) | 一种通信数据处理方法、装置、计算机系统及存储介质 | |
CN113572743B (zh) | 数据加密、解密方法、装置、计算机设备和存储介质 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN111343170B (zh) | 电子签约方法及系统 | |
CN110768784A (zh) | 密码传输方法、装置、计算机设备和存储介质 | |
EP2908493A2 (en) | Secure communication systems | |
CN112653719A (zh) | 汽车信息安全存储方法、装置、电子设备和存储介质 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN111130798A (zh) | 一种请求鉴权方法及相关设备 | |
CN110213247A (zh) | 一种提高推送信息安全性的方法及系统 | |
CN106712939A (zh) | 密钥离线传输方法和装置 | |
CN113452526B (zh) | 电子文件存证方法、验证方法及相应装置 | |
CN113449338A (zh) | 基于区块链的信息加密存储方法及系统 | |
CN115001871A (zh) | 基于区块链技术的文件加密共享的方法和系统 | |
CN113868713B (zh) | 一种数据验证方法、装置、电子设备及存储介质 | |
CN111585995A (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
CN110581838A (zh) | 可持续请求数据流的方法、电子装置及计算机设备 | |
CN113158218B (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 |