CN114285575B - 图像加密和解密方法和装置、存储介质及电子装置 - Google Patents

图像加密和解密方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN114285575B
CN114285575B CN202111630855.9A CN202111630855A CN114285575B CN 114285575 B CN114285575 B CN 114285575B CN 202111630855 A CN202111630855 A CN 202111630855A CN 114285575 B CN114285575 B CN 114285575B
Authority
CN
China
Prior art keywords
key
string
character
strings
character string
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
CN202111630855.9A
Other languages
English (en)
Other versions
CN114285575A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111630855.9A priority Critical patent/CN114285575B/zh
Publication of CN114285575A publication Critical patent/CN114285575A/zh
Application granted granted Critical
Publication of CN114285575B publication Critical patent/CN114285575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种图像加密和解密方法和装置、存储介质及电子装置,其中,上述方法包括:获取待处理的目标图像及目标图像的上传时间戳;确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;利用密钥字符串对候选字符串进行加密,得到目标加密字符串;将目标加密字符串及上传时间戳发送至服务器。采用上述技术方案,解决了现有技术中图像数据安全性低的问题。

Description

图像加密和解密方法和装置、存储介质及电子装置
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种图像加密和解密方法和装置、存储介质及电子装置。
背景技术
随着科技的发展,网络信息技术极大地方便了人们之间的通信交流。而在许多应用场景中,都需要对用户进行实名认证,例如电子签名照、身份证照片、个人照片等。在通过上述方式确认了个人的身份信息的过程中,存在个人信息被窃取的风险,从而导致图像数据安全性低的问题。
现有技术中,通常采用编码转换或对图片进行切割等方式,实现对图片的加密处理,但由于上述加密过程过于简单,使得加密后的图片容易被破解,导致个人信息丢失,从而造成图像数据安全性低的问题,。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图像加密和解密方法和装置、存储介质及电子装置,以至少解决现有技术中图像数据安全性低的问题。
根据本发明实施例的一方面,提供一种图像加密方法,包括:获取待处理的目标图像及目标图像的上传时间戳;确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;利用密钥字符串对候选字符串进行加密,得到目标加密字符串;将目标加密字符串及上传时间戳发送至服务器。
可选地,上述确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串,包括:对目标图像进行字符编码,得到字符串明文;确定上传时间戳中目标序位的数值;在预设密钥映射表中查找到与标序位的数值相匹配的密钥字符串。
可选地,上述将密钥字符串分割为多个密钥子字符串,包括:确定密钥字符串的分割长度;将密钥字符串按照分割长度分割为多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符。
可选地,上述将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串,包括:确定多个密钥子字符串的拼接位置,其中,拼接位置包括以下至少之一:字符串明文中、字符串明文之前、字符串明文之后;将多个密钥子字符串分别添加至对应的拼接位置,以组合得到候选字符串。
可选地,上述将多个密钥子字符串分别添加至对应的拼接位置,以得到候选字符串,包括:在多个密钥子字符串的数量大于等于3的情况下,将多个密钥子字符串中的第一参考密钥子字符串添加至字符串明文中,将多个密钥子字符串中的第二参考密钥子字符串添加至字符串明文之前,并将多个密钥子字符串中的第三参考密钥子字符串添加至字符串明文之后,以组合得到候选字符串。
可选地,在上述获取待处理的目标图像及目标图像的上传时间戳之前,还包括:获取多个不同长度的随机字符串;建立随机字符串与时间戳之间的映射关系,得到预设密钥映射表。
根据本发明实施例的另一方面,提供一种图像解密方法,包括:接收目标加密字符串及上传时间戳;确定与上传时间戳相匹配的密钥字符串;利用密钥字符串对目标加密字符串进行解密,得到候选字符串;将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文;对字符串明文进行解码,以得到目标图像。
可选地,上述确定与上传时间戳相匹配的密钥字符串,包括:获取上传时间戳中目标序位的数值;根据目标序位的数值,在预设密钥映射表中查找到与目标序位的数值相匹配的密钥字符串。
可选地,上述将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文,包括:获取密钥字符串的分割长度;将密钥字符串按照分割长度分割为多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符;根据多个密钥子字符串在候选字符串中的存放位置,从候选字符串中取出多个密钥子字符串,得到字符串明文;其中,存放位置包括以下至少之一:候选字符串中部、候选字符串前端、候选字符串后端。
可选地,上述根据多个密钥子字符串在候选字符串中的存放位置,从候选字符串中取出多个密钥子字符串,得到字符串明文,包括:在多个密钥子字符串的数量大于等于3的情况下,从候选字符串中取出存放位置为候选字符串后端的第三参考密钥字符串,从候选字符串中取出存放位置为候选字符串前端的第二参考密钥字符串,从候选字符串中取出存放位置为候选字符串中部的第一参考密钥字符串,以得到字符串明文。
根据本发明的另一方面,还提供一种图像加密装置,包括:第一获取单元,用于获取待处理的目标图像及目标图像的上传时间戳;确定单元,用于确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;拼接单元,用于将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;加密单元,用于利用密钥字符串对候选字符串进行加密,得到目标加密字符串;发送单元,用于将目标加密字符串及上传时间戳发送至服务器。
根据本发明的另一方面,还提供一种图像解密装置,应用于服务器,包括:接收单元,用于接收目标加密字符串及上传时间戳;确定单元,用于确定与上传时间戳相匹配的密钥字符串;解密单元,用于利用密钥字符串对目标加密字符串进行解密,得到候选字符串;处理单元,用于将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文;解码单元,用于对字符串明文进行解码,以得到目标图像。
通过本发明实施例,获取待处理的目标图像及目标图像的上传时间戳;确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;利用密钥字符串对候选字符串进行加密,得到目标加密字符串;将目标加密字符串及上传时间戳发送至服务器。也就是说,通过获取与上传时间关联的动态密钥字符串,并对动态密钥字符串进行分割,采用分割后的多组密钥子字符串对目标图像进行加密,不仅提高了密钥生成方式的灵活性,而且提升了密钥的复杂性。解决了现有技术中图像数据安全性低的问题,提高了图像加解密的复杂性,提升了图像数据的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的图像加密和解密方法的应用场景的示意图;
图2是根据本发明实施例的一种可选的图像加密方法的流程图;
图3是根据本发明实施例的一种可选的上传时间戳与密钥字符串的对应关系的示意图;
图4是根据本发明实施例的一种可选的密钥分割规则的示意图;
图5是根据本发明实施例的一种可选的密钥子字符串与字符串明文进行组合拼接的示意图;
图6是根据本发明实施例的一种可选的图像解密方法的流程图;
图7是根据本发明实施例的一种可选的图像加密和解密方法的整体流程图;
图8是根据本发明实施例的一种可选的图像解密方法的示意图;
图9是根据本发明实施例的图像加密装置的结构框图;
图10是根据本发明实施例的图像解密装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种图像加密和解密方法,可选地,作为一种可选的实施方式,上述虚拟对象的生成方法可以但不限于应用于如图1所示的硬件环境中的虚拟形象生成系统。其中,该虚拟形象生成系统可以包括但不限于主播设备102、网络104、服务器106、数据库108。客户端102是一款可以用于验证身份的图像信息的便携式移动客户端,包括人机交互屏幕,处理器及存储器。人机交互屏幕用于上传图像及对图像的加密处理(如图1所示的一种客户端的显示界面);还用于提供人机交互接口以接收用于验证图像信息过程中加密或解密处理的人机交互操作。处理器用于响应上述人机交互操作生成交互指令,并将该交互指令发送给服务器106。存储器用于存储相关属性数据,如预设的密钥映射表、目标图像的上传时间戳、目标加密字符串等。
具体过程如下:步骤S102,获取待处理的目标图像及目标图像的上传时间戳;然后如步骤S104-S110,确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;对候选字符串加密;发送目标加密字符串及上传时间戳。服务器106将执行步骤S112,对目标加密字符串进行解密,得到字符串明文,以得到目标图像。
在本实施例中提供了一种图像加密方法,图2是根据本发明实施例的图像加密方法的流程图,该流程包括如下步骤:
步骤S202,获取待处理的目标图像及目标图像的上传时间戳;
步骤S204,确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;
步骤S206,将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;
步骤S208,利用密钥字符串对候选字符串进行加密,得到目标加密字符串;
步骤S210,将目标加密字符串及上传时间戳发送至服务器。
在上述步骤S202中,在客户端上传待处理的目标图像的情况下,可以获取到目标图像的上传时间,将上传时间中的60个秒数按照预定规则动态生成60个不同的字符串,并生成预设密钥映射表。
具体地,如图3所示,00对应字符串ashdkk,01对应字符串dhh546,02对应字符串dhgfSd等。当上传时间为2021-01-01 10:10:59的情况下,获取上传时间中的秒数位59,通过查找预设密钥映射表,确定与秒数59对应的,字符串为4Sfsd5。将上述字符串4Sfsd5转换成ASCII码值,即可确定与上述上传时间2021-01-01 10:10:59相匹配的密钥字符串,例如得到密钥字符串345366736435,具体地,如步骤S204。
可以理解的是,由于上述字符串4Sfsd5是与上传时间中的秒数相匹配的,而密钥字符串345366736435是字符串4Sfsd5相对应的ASCII码值,因此,密钥字符串345366736435是与目标图像的上传时间相关联的,并且不同的上传时间对应不同的密钥字符串。此外,上传时间指的是在将目标图像上传到客户端的过程中,上传完成时刻的时间节点。
在获取到密钥字符串之后,按照预定的密钥分割规则,对密钥字符串345366736435进行分割,得到多个密钥子字符串,并将多个密钥字符串放置到目标图像的字符串明文中的不同位置,即可实现对目标图像的第一次加密。其中,目标图像的字符串明文包括但不限于利用编码转换工具将图像进行编码转换,例如将目标图像经过Base64加密,得到字符串明文。
需要说明的是,上述分割后得到的多个密钥字符串在字符串明文中的位置不做限定,但为了便于对加密图像的解密处理,通常采用将多个密钥子字符串放置在字符串明文中、字符串明文之前和字符串明文之后的原则,以得到第一次加密后的候选字符串。
在将多个密钥子字符串全部放置到字符串明文的相应位置后,将其与字符串明文进行组合拼接,得到候选字符串。然后在利用密钥字符串345366736435对第一加密后的候选字符串进行第二次加密处理,得到目标加密字符串,即可完成对图像的加密处理。
进一步地,在完成对图像的加密处理后,将目标加密字符串及目标图像的上传时间戳发送至服务器,以便于对加密图像的解密处理。
通过本申请提供的上述实施例,采用与目标图像的上传时间相匹配的密钥字符串对目标图像的字符串明文进行加密处理,并分别利用分割后的多个密钥子字符串和整体密钥字符串对目标图像进行两次加密处理,使得目标加密字符串的复杂性较高,难以被破解,提高了图像数据的安全性。此外,由于密钥字符串是按照不同上传时间进行动态选取的,因此相对于相关技术中形式固定的简单密钥来说,提升了密钥的灵活性,增强了加密图像的抗攻击能力。
在一个可选的实施例中,上述确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串,包括:
对目标图像进行字符编码,得到字符串明文;
确定上传时间戳中目标序位的数值;
在预设密钥映射表中查找到与目标序位的数值相匹配的密钥字符串。
在本实施例中,在将目标图像上传到客户端中之后,首先将采用编码转换工具对目标图像进行字符编码,将目标图像转换为字符串形式,得到与目标图像相对应的字符串明文。其中,相对于目标图像本身而言,对目标图像的字符编码过程,可以理解为是对目标图像的初加密。
获取密钥字符串的具体过程如下:
(1)上传时间戳中的秒数位有00-59共计60个数值,根据60个数值随机生成60个字符不同长度的字符串,如:GHgsn,…,4Sfsd5等,并将60个不同的字符串与一分钟的60个秒数对应起来。例如:00对应字符串GHgsn,…59对应字符串4Sfsd5等;
(2)根据60个秒数与60个字符串的对应关系,生成预设密钥映射表;
(3)在目标图像上传完成后,根据获取到的上传时间中的秒数位的数值,从预设密钥映射表中查找与该数值相匹配的密钥字符串。
通过本申请提供的上述实施例,根据预先创建的目标图像的上传时间与密钥字符串的对应关系,再利用不同上传时间去动态查询预设密钥映射表,得到与当前时间上传时间相匹配的目标密钥字符串,提升了密钥的灵活性,增强了加密图像的抗攻击能力。
在一个可选的实施例中,上述将密钥字符串分割为多个密钥子字符串,包括:
确定密钥字符串的分割长度;
将密钥字符串按照分割长度分割为多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符。
具体地,如图4所示,假设根据目标图像的上传时间获取到的密钥字符串为字符串S:345366736435,分割后的多个密钥子字符串的数量为3,那么就可以通过字符串S的字符长度12除以3,得到分割长度4。此时,得到分割后的密钥子字符串共包括3个,分别为密钥子字符串A:3453,密钥子字符串B:6673,密钥子字符串C:6435。
需要说明的是,密钥子字符串A和B的长度均是根通过字符串S的字符长度除以3之后的商来确定,密钥子字符串C的字符长度则是通过字符串S的字符长度除以3之后的商加余数0得到的。
作为另一种可选的实施方式,假设字符串S1为3453667364356,字符串S1的字符串长度13无法被3整数,此时,得到分割后的密钥子字符串分别为密钥子字符串A:3453,密钥子字符串B:6673,密钥子字符串C:64356。其中,按照如图4所示的密钥分割规则,密钥子字符串A和B的字符长度仍然为4,而密钥子字符串C的字符长度为5。
进一步地,在根据上述分割长度所确定的3个密钥子字符串A、B、C中,密钥子字符串A的末尾字符3与密钥子字符串B的首位字符6为连续字符。同样地,密钥子字符串B的末尾字符3与密钥子字符串C的首位字符6也为连续字符。
可以理解的是,本实施例中的密钥分割规则与密钥子字符串的数量有直接关系,而在实际应用过程中,分割后的密钥子字符串的数量不作限定。为了便于理解和阐述本发明的技术方案,各实施例中的密钥子字符串的数量均以3为例进行说明。
通过本申请提供的上述实施例,将与上传时间具备对应关系的密钥字符串,按照预设的密钥分割规则分割为多个密钥子字符串,以提高密钥的复杂性,从而提高加密图像的安全性。
作为一种可选的实施方案,上述将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串,包括:
确定多个密钥子字符串的拼接位置,其中,拼接位置包括以下至少之一:字符串明文中、字符串明文之前、字符串明文之后;
将多个密钥子字符串分别添加至对应的拼接位置,以组合得到候选字符串。
在本实施例中,为了增加加密图像的复杂性,通常将多个密钥子字符串添加到相对于字符串明文的不同拼接位置。例如,如图5所示,将多个密钥子字符串A、B、C的拼接位置分别确定为:字符串明文S中、字符串明文S之前和字符串明文S之后。
可以理解的是,密钥子字符串A、B、C的拼接位置不做限定,换言之,可以将密钥子字符串A添加到字符串S中、将密钥子字符串B和C添加到字符串S之前或之后;也可以将密钥子字符串B添加到字符串S中,将将密钥子字符串A和C添加到字符串S之前或之后。通过各种拼接位置将多个密钥子字符串添加到密钥明文中,以得到不同的候选字符串。
作为一种可选的实施方式,上述将多个密钥子字符串分别添加至对应的拼接位置,以得到候选字符串,包括:
在多个密钥子字符串的数量大于等于3的情况下,将多个密钥子字符串中的第一参考密钥子字符串添加至字符串明文中,将多个密钥子字符串中的第二参考密钥子字符串添加至字符串明文之前,并将多个密钥子字符串中的第三参考密钥子字符串添加至字符串明文之后,以组合得到候选字符串。
具体地,如图5所示,利用分割后的多个密钥子字符串对目标图像的字符串明文进行加密,得到候选字符串的具体过程如下所示:
S1,假设字符串明文为字符串S为sjhdsfhSHJHINIDF…JDKFGIHkdjkskldfj,根据密钥分割规则得到三个密钥子字符串分别为A:3453,密钥子字符串B:6673,密钥子字符串C:6435;
S2,根据上传时间2021-09-10 10:10:59中的秒数59的个位数9,将字符串S的第0-8位所占的字符(即前9个字符)与字符串S中剩余的字符分隔开,然后将密钥子字符串A:3453添加到第8位字符H之后,将密钥子字符串B:6673添加到字符串S之前,并将密钥子字符串C:6435添加到字符串S之后;
S3,将密钥子字符串A、B、C与字符串S组合拼接后得到字符串S1为6673sjhdsfhSH3453JHINIDF…JDKFGIHkdjkskldfj6435,记为候选字符串。
进一步地,利用密钥字符串3453667364356对候选字符串S1再次进行加密,得到密文:dhjaHGH56fdsdfj……jfSDHJFfhsd985456GJ,也即采用不同的密钥(分割后的多个密钥子字符串和密钥字符串整体)对目标图像进行多次加密,提高了密钥的复杂性。
需要说明的是,为了便于后续的解密处理,通常将多个密钥字符串的拼接位置确定为字符串明文中、字符串明文之前和字符串明文之后。但需要理解的是,在实际应用过程中,该拼接位置不做限定。例如:可以根据其他规则,将两个或两个以上密钥子字符串均添加到字符串明文中的不同位置,或者将两个或两个以上的密钥子字符串同时添加到字符串明文之前或之后,从而使得密钥的复杂度更高。
通过本申请提供的上述实施例,将分割后的多个密钥子字符串添加到字符串明文中的不同拼接位置,使得组合拼接后的候选字符串的复杂性较高,难以被破解,从而提高了图像数据的安全性。此外,由于密钥字符串是按照不同上传时间进行动态选取的,因此相对于相关技术中形式固定的简单密钥来说,提升了密钥的灵活性,增强了加密图像的抗攻击能力。
作为一种可选的实施方案,在上述获取待处理的目标图像及目标图像的上传时间戳之前,还包括:
获取多个不同长度的随机字符串;
建立随机字符串与时间戳之间的映射关系,得到预设密钥映射表。
在本实施例中,根据上传时间中的秒数对应的60个数值,随机生成60个不同长度的字符串,然后建立如图1所示的随机字符串与时间戳之间的映射关系,得到预设密钥映射表。
通过上述预设密钥映射表,可以根据不同目标图像的不同上传时间,从预设密钥映射表中查找与当前上传时间相匹配的随机字符串,使得时间与密钥存在对应关系。不仅提高了密钥的灵活性,而且提升了加密后的图像数据的安全性。
需要说明的是,上述步骤的执行主体为用于验证图像信息的客户端,为了更好地理解本发明的技术方案,本申请还提供了一种图像解密方法,应用于服务器,具体地,如图6所示,该流程包括如下步骤:
步骤S602,接收目标加密字符串及上传时间戳;
步骤S604,确定与上传时间戳相匹配的密钥字符串;
步骤S606,利用密钥字符串对目标加密字符串进行解密,得到候选字符串;
步骤S608,将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文;
步骤S610,对字符串明文进行解码,以得到目标图像。
结合上述实施例中的图像加密方法可知,在客户端完成图像的加密处理后,将目标加密字符串和上传时间发送至服务器,并保存至对应数据库中。然后在服务器中确定与上传时间戳相匹配的密钥字符串,其中,利用密钥字符串对接收到的目标加密字符串进行解密,得到候选字符串。具体地,如步骤S602-S606。
采用如上述图像加密方法中的密钥分割规则,将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文。
为了更好地理解上述图像加密与图像解密方法的具体实现过程,本申请还提供了一种图像加密和解密方法的整体流程图,具体地,如图7所示:
S702,上传图片以及上传时间;
S704-S708,对图片经过Base64加密得到字符串i,同时根据时间与字符串的对应规则k,获得与上传时间的秒数相匹配的密钥;
S710,按照预设密钥分割规则,将密钥分为3组;并将3组密钥对应添加到字符串i的拼接位置,得到第一次加密后的字符串m;
S712,然后利用密钥对字符串m进行第二次加密处理,得到字符串密文x;
S714,将字符串密文x和上传时间传入后台,并存储到对应数据库中。其中数据库中还保存有预设密钥映射表;
S716,根据密钥规则k,得到密钥;
S718,利用密钥,对字符串密文x进行第一次解密处理,得到字符串m;
S720-S722,根据图像加密过程添加字符串A、B、C的顺序,以及密钥分割规则,依次取出字符串m中的字符串C、B、A,得到字符串i;
S724,利用编码转换工具,例如Base64解密字符串i,得到图片。
通过本申请提供的上述实施例,根据不同目标图像的不同上传时间,从预设密钥映射表中查找与当前上传时间相匹配的密钥字符串;利用分割后的多个密钥子字符串对目标图像进行第一次加密,并利用密钥字符串对第一次加密的结果进行第二次加密;将最终的目标加密字符串和上传时间一起发送给服务器。
进一步地,在服务器中采用与加密方法相反的逻辑,依次对目标加密字符串和候选字符串解密,得到目标图像。由此可见,在图像加密与解密的过程中,均采用的是与时间关联的密钥字符串或多个密钥子字符串,不仅提高了密钥的多样性,而且通过提高了密钥本身和加密和解密方法的复杂性,提升了图像数据的安全性。
作为一种可选地实施方案,上述确定与上传时间戳相匹配的密钥字符串,包括:
获取上传时间戳中目标序位的数值;
根据目标序位的数值,在预设密钥映射表中查找到与目标序位的数值相匹配的密钥字符串。
通过采用与图像加密方法中相同的方式,在接收到的上传时间中确定秒数位的数值,例如00、01、02…59,从如图3所示的预设密钥映射表中查找与上传时间中的秒数位的数值相匹配的密钥字符串。
可以理解的是,在图像加密过程结束后,不仅将目标加密字符串与上传时间戳发送至了服务器,还将随机生成的60个与时间相关的字符串、字符串与时间的映射关系一起发送至了服务器。因此,在解密过程中,可以直接根据上传时间的秒数的数值,在服务器中查找得到密钥字符串。
通过本申请提供的上述实施例,根据不同上传时间去动态查询预设密钥映射表,得到与当前时间上传时间相匹配的密钥字符串。然后采用与图像加密处理相反的逻辑,对目标加密字符串进行解密处理。在提高图像加密的复杂性的同时,还确保了解密处理的便捷性,提升了加密和解密方法的适用性。
作为一种可选地实施方案,上述将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文,包括:
获取密钥字符串的分割长度;
将密钥字符串按照分割长度分割为多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符;
根据多个密钥子字符串在候选字符串中的存放位置,从候选字符串中取出多个密钥子字符串,得到字符串明文;
其中,存放位置包括以下至少之一:候选字符串中部、候选字符串前端、候选字符串后端。
具体地,如图8所示,在对接收到的目标加密字符串进行解密之前,需要利用密钥分割规则,对查找到的密钥345366736435进行分割处理,例如,将密钥345366736435分割为密钥子字符串A:3453,密钥子字符串B:6673,密钥子字符串C:6435。具体的分割方法可参考上述图像加密方法中的密钥分割过程,此处不再赘述。
同样地,在根据上述分割长度所确定的3个密钥子字符串A、B、C中,密钥子字符串A的末尾字符3与密钥子字符串B的首位字符6为连续字符。同样地,密钥子字符串B的末尾字符3与密钥子字符串C的首位字符6也为连续字符。
利用密钥字符串对目标加密字符串解密,得到候选字符串;并按照多个密钥子字符串在候选字符串中的存放位置,依次从候选字符串中取出多个密钥子字符串,从而得到字符串明文。
作为一种可选的实施方式,上述根据多个密钥子字符串在候选字符串中的存放位置,从候选字符串中取出多个密钥子字符串,得到字符串明文,包括:
在多个密钥子字符串的数量大于等于3的情况下,从候选字符串中取出存放位置为候选字符串后端的第三参考密钥字符串,从候选字符串中取出存放位置为候选字符串前端的第二参考密钥字符串,从候选字符串中取出存放位置为候选字符串中部的第一参考密钥字符串,以得到字符串明文。
具体地,如图8所示,解密处理的步骤如下所示:
S1,利用密钥345366736435对目标加密字符串(即密文S)进行第一次解密,得到字符串S1:6673sjhdsfhSH3453JHINIDF……JDKFGIHkdjkskldfj6453;
S2,采用与加密顺序相反的逻辑,截取字符串S1的0至字符串S1.length()-C.length(),得到取出密钥子字符串C之后的字符串H:6673sjhdsfhSH3453JHINIDF……JDKFGIHkdjkskldfj,其中,字符串S1.length()为字符串S1的长度,C.length()为密钥子字符串C的长度;
S3,截取B.length()到字符串H.length(),得到取出密钥子字符串B之后的字符串S2:sjhdsfhSH3453JHINIDF……JDKFGIHkdjkskldfj,其中,B.length()为密钥子字符串B的长度,H.length()为取出C之后的字符串H的长度;
S4,获取上传时间秒数的个位数9作为字符串S2的下标,取出字符串S2中的A后得到字符串明文S3,然后Base64解密字符串明文S3得到目标图像。
通过本申请提供的上述实施例,采用与图像加密过程中添加多个密钥子字符串的顺序进行反推,依次取出候选字符串中的多个密钥子字符串,得到字符串明文。通过利用加密与解密过程的关联性,实现了在提升图像加密处理的安全性的同时,还提高了解密处理的复杂性,从而提高了图像数据的安全性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种图像加密装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本发明实施例的虚拟形象的显示装置的结构框图,该装置包括:
第一获取单元902,用于获取待处理的目标图像及目标图像的上传时间戳;
确定单元904,用于确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;
拼接单元906,用于将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;
加密单元908,用于利用密钥字符串对候选字符串进行加密,得到目标加密字符串;
发送单元910,用于将目标加密字符串及上传时间戳发送至服务器。
可选地,上述确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串,包括:
编码模块,用于对目标图像进行字符编码,得到字符串明文;
第一确定模块,用于确定上传时间戳中目标序位的数值;
第一查找模块,用于在预设密钥映射表中查找到与目标序位的数值相匹配的密钥字符串。
可选地,上述将密钥字符串分割为多个密钥子字符串,包括:
第二确定模块,用于确定密钥字符串的分割长度;
分割模块,用于将密钥字符串按照分割长度分割为多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符。
可选地,上述将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串,包括:
第三确定模块,用于确定多个密钥子字符串的拼接位置,其中,拼接位置包括以下至少之一:字符串明文中、字符串明文之前、字符串明文之后;
第一拼接模块,用于将多个密钥子字符串分别添加至对应的拼接位置,以组合得到候选字符串。
可选地,上述将多个密钥子字符串分别添加至对应的拼接位置,以得到候选字符串,包括:
第一处理模块,用于在多个密钥子字符串的数量大于等于3的情况下,将多个密钥子字符串中的第一参考密钥子字符串添加至字符串明文中,将多个密钥子字符串中的第二参考密钥子字符串添加至字符串明文之前,并将多个密钥子字符串中的第三参考密钥子字符串添加至字符串明文之后,以组合得到候选字符串。
可选地,在上述获取待处理的目标图像及目标图像的上传时间戳之前,还包括:
第二获取单元,用于获取多个不同长度的随机字符串;
第一处理单元,用于建立随机字符串与时间戳之间的映射关系,得到预设密钥映射表。
作为一种可选的实施方案,本申请还提供了一种图像解密装置,应用于图像数据验证的服务器,具体地,如图10所示,该装置包括:
接收单元1002,用于接收目标加密字符串及上传时间戳;
确定单元1004,用于确定与上传时间戳相匹配的密钥字符串;
解密单元1004,用于利用密钥字符串对目标加密字符串进行解密,得到候选字符串;
处理单元1008,用于将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文;
解码单元1010,用于对字符串明文进行解码,以得到目标图像。
可选地,上述确定与上传时间戳相匹配的密钥字符串,包括:
第一获取模块,用于获取上传时间戳中目标序位的数值;
第二查找模块,用于根据目标序位的数值,在预设密钥映射表中查找到与目标序位的数值相匹配的密钥字符串。
可选地,上述将密钥字符串分割为多个密钥子字符串,并从候选字符串中取出多个密钥子字符串,得到字符串明文,包括:
第二获取模块,用于获取密钥字符串的分割长度;
第二处理模块,用于将密钥字符串按照分割长度分割为多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符;
第三处理模块,用于根据多个密钥子字符串在候选字符串中的存放位置,从候选字符串中取出多个密钥子字符串,得到字符串明文;
其中,存放位置包括以下至少之一:候选字符串中部、候选字符串前端、候选字符串后端。
可选地,上述根据多个密钥子字符串在候选字符串中的存放位置,从候选字符串中取出多个密钥子字符串,得到字符串明文,包括:
第四处理模块,用于在多个密钥子字符串的数量大于等于3的情况下,从候选字符串中取出存放位置为候选字符串后端的第三参考密钥字符串,从候选字符串中取出存放位置为候选字符串前端的第二参考密钥字符串,从候选字符串中取出存放位置为候选字符串中部的第一参考密钥字符串,以得到字符串明文。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取待处理的目标图像及目标图像的上传时间戳;
S2,确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;
S3,将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;
S4,利用密钥字符串对候选字符串进行加密,得到目标加密字符串;
S5,将目标加密字符串及上传时间戳发送至服务器。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取待处理的目标图像及目标图像的上传时间戳;
S2,确定与目标图像相匹配的字符串明文,及与上传时间戳相匹配的密钥字符串;
S3,将密钥字符串分割为多个密钥子字符串,并将多个密钥子字符串与字符串明文进行组合拼接,得到候选字符串;
S4,利用密钥字符串对候选字符串进行加密,得到目标加密字符串;
S5,将目标加密字符串及上传时间戳发送至服务器。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种图像加密方法,其特征在于,包括:
获取待处理的目标图像及所述目标图像的上传时间戳;
确定与所述目标图像相匹配的字符串明文,及与所述上传时间戳相匹配的密钥字符串;
将所述密钥字符串分割为多个密钥子字符串,并将所述多个密钥子字符串与所述字符串明文进行组合拼接,得到候选字符串;
利用所述密钥字符串对所述候选字符串进行加密,得到目标加密字符串;
将所述目标加密字符串及所述上传时间戳发送至服务器。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述目标图像相匹配的字符串明文,及与所述上传时间戳相匹配的密钥字符串,包括:
对所述目标图像进行字符编码,得到所述字符串明文;
确定所述上传时间戳中目标序位的数值;
在预设密钥映射表中查找到与所述目标序位的数值相匹配的所述密钥字符串。
3.根据权利要求1所述的方法,其特征在于,所述将所述密钥字符串分割为多个密钥子字符串,包括:
确定所述密钥字符串的分割长度;
将所述密钥字符串按照所述分割长度分割为所述多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符。
4.根据权利要求3所述的方法,其特征在于,所述将所述多个密钥子字符串与所述字符串明文进行组合拼接,得到候选字符串,包括:
确定所述多个密钥子字符串的拼接位置,其中,所述拼接位置包括以下至少之一:所述字符串明文中、所述字符串明文之前、所述字符串明文之后;
将所述多个密钥子字符串分别添加至对应的所述拼接位置,以组合得到所述候选字符串。
5.根据权利要求4所述的方法,其特征在于,所述将所述多个密钥子字符串分别添加至对应的所述拼接位置,以得到所述候选字符串,包括:
在所述多个密钥子字符串的数量大于等于3的情况下,将所述多个密钥子字符串中的第一参考密钥子字符串添加至所述字符串明文中,将所述多个密钥子字符串中的第二参考密钥子字符串添加至所述字符串明文之前,并将所述多个密钥子字符串中的第三参考密钥子字符串添加至所述字符串明文之后,以组合得到所述候选字符串。
6.根据权利要求1所述的方法,其特征在于,在所述获取待处理的目标图像及所述目标图像的上传时间戳之前,还包括:
获取多个不同长度的随机字符串;
建立所述随机字符串与时间戳之间的映射关系,得到预设密钥映射表。
7.一种图像解密方法,其特征在于,包括:
接收目标加密字符串及上传时间戳;
确定与所述上传时间戳相匹配的密钥字符串;
利用所述密钥字符串对所述目标加密字符串进行解密,得到候选字符串;
将所述密钥字符串分割为多个密钥子字符串,并从所述候选字符串中取出所述多个密钥子字符串,得到字符串明文;
对所述字符串明文进行解码,以得到目标图像。
8.根据权利要求7所述的方法,其特征在于,所述确定与所述上传时间戳相匹配的密钥字符串,包括:
获取所述上传时间戳中目标序位的数值;
根据所述目标序位的数值,在预设密钥映射表中查找到与所述目标序位的数值相匹配的所述密钥字符串。
9.根据权利要求7所述的方法,其特征在于,所述将所述密钥字符串分割为多个密钥子字符串,并从所述候选字符串中取出所述多个密钥子字符串,得到字符串明文,包括:
获取所述密钥字符串的分割长度;
将所述密钥字符串按照所述分割长度分割为所述多个密钥子字符串,其中,相邻两个密钥子字符串中在前的第一密钥子字符串的末尾字符与在后的第二密钥子字符串的首位字符为连续字符;
根据所述多个密钥子字符串在所述候选字符串中的存放位置,从所述候选字符串中取出所述多个密钥子字符串,得到所述字符串明文;
其中,所述存放位置包括以下至少之一:所述候选字符串中部、所述候选字符串前端、所述候选字符串后端。
10.根据权利要求9所述的方法,其特征在于,所述根据所述多个密钥子字符串在所述候选字符串中的存放位置,从所述候选字符串中取出所述多个密钥子字符串,得到所述字符串明文,包括:
在所述多个密钥子字符串的数量大于等于3的情况下,从所述候选字符串中取出所述存放位置为所述候选字符串后端的第三参考密钥字符串,从所述候选字符串中取出所述存放位置为所述候选字符串前端的第二参考密钥字符串,从所述候选字符串中取出所述存放位置为所述候选字符串中部的第一参考密钥字符串,以得到所述字符串明文。
11.一种图像加密装置,其特征在于,包括:
第一获取单元,用于获取待处理的目标图像及所述目标图像的上传时间戳;
确定单元,用于确定与所述目标图像相匹配的字符串明文,及与所述上传时间戳相匹配的密钥字符串;
拼接单元,用于将所述密钥字符串分割为多个密钥子字符串,并将所述多个密钥子字符串与所述字符串明文进行组合拼接,得到候选字符串;
加密单元,用于利用所述密钥字符串对所述候选字符串进行加密,得到目标加密字符串;
发送单元,用于将所述目标加密字符串及所述上传时间戳发送至服务器。
12.一种图像解密装置,其特征在于,包括:
接收单元,用于接收目标加密字符串及上传时间戳;
确定单元,用于确定与所述上传时间戳相匹配的密钥字符串;
解密单元,用于利用所述密钥字符串对所述目标加密字符串进行解密,得到候选字符串;
处理单元,用于将所述密钥字符串分割为多个密钥子字符串,并从所述候选字符串中取出所述多个密钥子字符串,得到字符串明文;
解码单元,用于对所述字符串明文进行解码,以得到目标图像。
13.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至10任一项中所述的方法。
14.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至10任一项中所述的方法。
CN202111630855.9A 2021-12-28 2021-12-28 图像加密和解密方法和装置、存储介质及电子装置 Active CN114285575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111630855.9A CN114285575B (zh) 2021-12-28 2021-12-28 图像加密和解密方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111630855.9A CN114285575B (zh) 2021-12-28 2021-12-28 图像加密和解密方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN114285575A CN114285575A (zh) 2022-04-05
CN114285575B true CN114285575B (zh) 2024-04-05

Family

ID=80877384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111630855.9A Active CN114285575B (zh) 2021-12-28 2021-12-28 图像加密和解密方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN114285575B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174758A (zh) * 2022-06-06 2022-10-11 中国电信股份有限公司 图片的加密方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012071717A1 (zh) * 2010-11-29 2012-06-07 北京卓微天成科技咨询有限公司 一种数据加解密方法及装置
CN107800819A (zh) * 2017-11-17 2018-03-13 深圳市泉眼网络科技有限公司 一种文件标识的生成方法、装置和服务器
CN113364760A (zh) * 2021-06-01 2021-09-07 平安科技(深圳)有限公司 一种数据加密处理方法、装置、计算机设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012071717A1 (zh) * 2010-11-29 2012-06-07 北京卓微天成科技咨询有限公司 一种数据加解密方法及装置
CN107800819A (zh) * 2017-11-17 2018-03-13 深圳市泉眼网络科技有限公司 一种文件标识的生成方法、装置和服务器
CN113364760A (zh) * 2021-06-01 2021-09-07 平安科技(深圳)有限公司 一种数据加密处理方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
结合时间戳的指纹密钥数据加解密传输方案;汪佩怡 等;中国图象图形学报;20200116(第01期);全文 *

Also Published As

Publication number Publication date
CN114285575A (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
US8345876B1 (en) Encryption/decryption system and method
CN111683046B (zh) 文件压缩以及获取的方法、装置、设备及存储介质
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
CN106610995B (zh) 一种创建密文索引的方法、装置及系统
Zheng et al. Lossless data hiding algorithm for encrypted images with high capacity
CN110912682B (zh) 数据处理方法、装置及系统
JP5948060B2 (ja) 暗号化データの高速な類似検索処理システム
CN113032357A (zh) 文件的存储方法、装置和服务器
CN111475543A (zh) 一种模糊搜索方法、装置、计算机设备及存储介质
CN110851481A (zh) 一种可搜索加密方法、装置、设备及可读存储介质
CN107710671A (zh) 终端装置及计算机程序
CN107196840B (zh) 数据处理方法、装置及设备
CN111010266A (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
CN114285575B (zh) 图像加密和解密方法和装置、存储介质及电子装置
CN110062941B (zh) 消息发送系统及方法、通信终端、服务器装置、记录介质
Riza et al. The Application of RSA and LSB in Securing Message on Imagery
CN104794243B (zh) 基于文件名的第三方密文检索方法
CN110427768B (zh) 一种私钥管理方法及系统
JP6149749B2 (ja) 情報処理装置、情報処理システム、及びプログラム
CN110365468B (zh) 匿名化处理方法、装置、设备及存储介质
CN114726524B (zh) 目标数据的排序方法、装置、电子设备及存储介质
CN114124469B (zh) 数据处理的方法、装置和设备
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN112953716A (zh) 一种兑换码生成及其验证方法和装置
CN107729345B (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