CN115630670A - 二维码生成方法、装置、电子设备及存储介质 - Google Patents

二维码生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115630670A
CN115630670A CN202211363931.9A CN202211363931A CN115630670A CN 115630670 A CN115630670 A CN 115630670A CN 202211363931 A CN202211363931 A CN 202211363931A CN 115630670 A CN115630670 A CN 115630670A
Authority
CN
China
Prior art keywords
embedded
watermark
icon
dimensional code
original data
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
CN202211363931.9A
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202211363931.9A priority Critical patent/CN115630670A/zh
Publication of CN115630670A publication Critical patent/CN115630670A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06103Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种二维码生成方法、装置、电子设备及存储介质。该方法包括:获取用于生成二维码的原始数据,并确定与原始数据相对应的哈希序列;基于置乱函数对哈希序列进行处理,得到与原始数据相对应的待添加水印;基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标;基于待嵌入图标和与原始数据相对应的待使用二维码图,得到目标二维码图。解决了现有技术中通过添加噪声隐藏水印,导致水印隐匿效果差的问题,实现减少隐藏数据的容量,合理地控制数据嵌入量,提高水印嵌入时的隐匿性,达到提高用户使用体验的效果。

Description

二维码生成方法、装置、电子设备及存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种二维码生成方法、装置、电子设备及存储介质。
背景技术
随着互联网的发展,越来越多的数字产品出现在市场上,如音频、电子图书、视频以及图片等产品。数字产品的出现给人们生活带来了便捷,同时能够快速地获取需要的信息,为了更好地的保护数字产品所属者的权益,通过会在数字产品上嵌入水印,达到保护数字产品的版权和完整性。
现有的添加水印的方式通常是将水印嵌入到数字产品表面,并通过添加额外的噪声来隐藏水印,但是这种方式,会导致视觉效果变差,影响使用体验。
发明内容
本发明提供了一种二维码生成方法、装置、电子设备及存储介质,以实现减少隐藏数据的容量,合理地控制数据嵌入量,提高水印嵌入时的隐匿性,提高水印的安全性以及鲁棒性,达到提高用户使用体验的技术效果。
根据本发明的一方面,提供了一种二维码生成方法,该方法包括:
获取用于生成二维码的原始数据,并确定与所述原始数据相对应的哈希序列;
基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印;
基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标;
基于所述待嵌入图标和与所述原始数据相对应的待使用二维码图,得到目标二维码图。
根据本发明的另一方面,提供了一种二维码生成装置,该装置包括:
哈希序列确定模块,用于获取用于生成二维码的原始数据,并确定与所述原始数据相对应的哈希序列;
待添加水印确定模块,用于基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印;
待嵌入图标确定模块,用于基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标;
目标二维码图确定模块,用于基于所述待嵌入图标和与所述原始数据相对应的待使用二维码图,得到目标二维码图。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的二维码生成方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的二维码生成方法。
本发明实施例的技术方案,通过获取用于生成二维码的原始数据,并确定与原始数据相对应的哈希序列;基于置乱函数对哈希序列进行处理,得到与原始数据相对应的待添加水印;基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标;基于待嵌入图标和与原始数据相对应的待使用二维码图,得到目标二维码图,解决了现有技术中通过添加噪声隐藏水印,导致水印隐匿效果差的问题,实现了通过使用一定长度的hash值来生成水印图像,减少隐藏数据的容量,合理地控制了数据嵌入量,提高水印嵌入时的隐匿性,同时通过对水印进行置乱处理,提高了水印的安全性以及鲁棒性,同时通过在图标当中隐藏与原始数据对应的水印,在提高水印添加效果的同时,保障二维码数据的安全,达到提高用户使用体验的效果。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种二维码生成方法的流程图;
图2是根据本发明实施例一所提供的待添加水印示意图;
图3是根据本发明实施例二所提供的二维码生成方法示意图;
图4是根据本发明实施例二所提供的二维码检验方法示意图;
图5是根据本发明实施例三提供的一种二维码生成装置的结构示意图;
图6是实现本发明实施例的二维码生成方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种二维码生成方法的流程图,本实施例可适用于生成数据的二维码情况,该方法可以由二维码生成装置来执行,该二维码生成装置可以采用硬件和/或软件的形式实现,该二维码生成装置可配置于计算设备中。如图1所示,该方法包括:
S110、获取用于生成二维码的原始数据,并确定与所述原始数据相对应的哈希序列。
其中,原始数据可以为文本类数据,也可以为图像类数据,或者URL地址型数据,本技术方案对原始数据的类型不做限定,可以为任意类型的数据。哈希序列可以为原始数据的另一种表示形式的数据,其包括一个或多个哈希值。需要说明的是,在实际应用中,为了提高数据传输使用的便捷性,快捷性等,通常会生成原始数据所对应的二维码,通过传输二维码,达到传输原始数据的效果,二维码可以是指QR(Quick Response,快速响应)码。
在本实施例中,可以当检测到用户触发了系统页面的数据提交控件时,认为系统获取到了用户上传的数据,可以将此数据作为原始数据;或者,原始数据可以预先保存在数据库或缓存日志中,进而可以通过接口从存储位置调取出原始数据,此时认为服务器获取到了原始数据。进一步的,可以对原始数据进行哈希处理,生成其对应的哈希序列。具体来说,确定与所述原始数据相对应的哈希序列的实现方式可以是:基于散列函数对所述原始数据进行处理,得到与所述原始数据相对应的哈希序列。
其中,散列函数可以为单向散列函数,如直接定址算法、相乘取整算法、平方取中法、折叠法、除余法、随机数法等,其可以将任意长度的输入消息串压缩变化成固定长的输出串,且由输出串难以反向得到输入串的函数,可用于验证安全消息和数据的完整性。例如,在实际应用中,只要原始数据发生任何的改动,对应的压缩信息(即哈希序列)也会变成完全不同的数据,可以保证被处理数据的唯一性。
在本实施例中,可以通过散列函数对原始数据进行哈希(hash)处理,生成hash序列,即哈希序列。例如,假设散列函数为平方取中法,原始数据为一组关键字(0100,0110,1010,1001,0111),关键字平方后可得(0010000,0012100,1020100,1002001,0012321),若取表长为1000,则可取中间的三位数作为散列地址集,即哈希序列:(100,121,201,020,123)。
本技术方案中,通过使用散列函数将原始数据压缩为表征原始数据唯一性的哈希序列,当二维码中的原始数据被替换时,对应的hash值会发生改变,便于检测出异常,不仅可以提高存储空间的利用率,提高数据的查询效率,还可以保障数据传递的安全性。
S120、基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印。
其中,置乱函数可以为Arnold置乱,用于通过一定的规则对像素的空间位置进行打乱,使图像成为视觉上无意义的像素组合。
在本实施例中,可以通过利用置乱函数将哈希序列打乱,将打乱后的数据作为待添加水印。为了增强哈希序列的安全性,可以将哈希序列中的hash值转换成二进制数值,生成与哈希序列相对应的二进制矩阵,进而采用Arnold置乱和加密对二进制矩阵进行处理,得到置乱后的数据,以使置乱后的数据与原始数据没有相关性,对该数据进行恢复时需要输入置乱转换次数和密钥,提高数据的安全性。
可选的,基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印,包括:确定与所述哈希序列相对应的二进制矩阵;基于所述置乱函数对所述二进制矩阵进行置乱处理,得到待添加水印。
其中,置乱函数是根据预设密钥对原始置乱函数加密处理生成的。待添加水印是指需要被添加的水印,可以为图像类型。二进制矩阵的维度可以为预设的,如n×n,n为一个自然数,如n可以为8,可以为16。
需要说明的是,哈希序列为固定长度的包含多个哈希值的字符串,其中哈希值的表示形式可能为数字、字母、符号等,可以将哈希序列中各个哈希值转换为二进制数值,0或1,以使后续基于二进制数值生成水印图像。
在本实施例中,可以利用转换函数将哈希序列中各个哈希值转换为二进制数值。例如,可以利用int()将字符或数字转换为Integer(整数),利用bin()将integer转换为二进制,相应的,可以得到各哈希值所对应的二进制数值。进一步的,基于二进制矩阵的维度对各二进制数值进行划分,划分为多组,每组中的数值数据与矩阵的维度相对应,相应的,可以基于各组二进制数值构建成二进制矩阵。在确定二进制矩阵之后,可以利用置乱函数对二进制矩阵进行置乱处理,得到置乱后的矩阵,可以基于置乱后的矩阵中每个位置数值可以表征为像素点的像素值,进而生成待添加水印。
示例性的,二进制数值包括(10101001101001),可以将1010作为矩阵的第一行,1001作为矩阵的第二行,1010作为矩阵的第三行,01作为矩阵的第四行,其余位置补0,相应的,二进制矩阵即为
Figure BDA0003923057470000061
假设置乱函数为
Figure BDA0003923057470000071
那么一次置乱后的矩阵即为
Figure BDA0003923057470000072
需要说明的是,还可以基于置乱函数进行多次置换,置换次数可以是预设的,也可以是根据二进制矩阵的大小计算出的置换次数,如取二进制矩阵的行和列中较大的一个值,记为X。为达到一定的置乱效果,以及保证二进制矩阵的行和列至少被交换过一次,置换次数不小于X。可以将置换后的矩阵中每个位置数值可以作为像素点的像素值,生成将图像的像素点进行置乱后的待添加水印,可以参见图2,图2中A可以表示为二进制矩阵对应的二值图,B可以表示为待添加水印。
S130、基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标。
其中,待使用图标可以为表征原始数据特性的图标信息,如,可以为矢量图标,人物图标,图形图标,文字图标等等。待嵌入图标是指需要被嵌入至原始数据的二维码中的图标。
在实际应用中,原始数据的QR码(即二维码)主要是由黑白模块组成,在图像中直接嵌入水印性能较差,为了提高QR码的视觉感官,可以选取QR码的具有丰富的色彩和多样的纹理的图标作为水印嵌入的载体,而且对图标进行处理不会影响原始QR码图像质量。可以将该图标作为待使用图标,以便将待添加水印嵌入至待使用图标中,得到嵌入后的图标作为待嵌入图标。
需要说明的是,QR码是具有较强的纠错能力的,可通过QR码的纠错码字占码字总数的比例决定QR码可以纠正多少错误数据,QR码可分为L、M、Q、H四个纠错等级,分别对应约7%、15%、25%、30%的码字恢复比例。在QR码中嵌入图标会使QR码的纠错能力受到影响,随着图标面积的增加,QR码的纠错能力逐渐降低,当图标的面积超过一定大小时,QR码的识别和解析就会出现错误,因此原始数据对应的图标在原始数据对应的二维码图像中所占据的面积是有限的,为了提高QR码的识别和解析的性能,可以在基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标之前,基于原始数据对应的二维码的纠错能力确定后续图标可嵌入二维码图的面积和区域位置,以将待使用图标是与可嵌入二维码图的面积是相符的。
可选的,在基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标之前,还包括:基于待使用二维码图中纠错码字占码字总数的比例,确定待使用二维码图中的目标区域;将待使用图标的大小压缩至与目标区域相一致,以将待添加水印嵌入至压缩后的待使用图标中,得到待嵌入图标。
其中,纠错码是指在传输过程中发生错误后可在接收端自行发现或纠正的码。待使用二维码图是指原始数据所对应的二维码图,此时待使用二维码图是未嵌入包含水印的图标的。待使用二维码图中纠错码字占码字总数的比例可以在生成原始数据对应的待使用二维码图的过程中,由技术人员根据实际工作情况进行确定,本技术方案对具体的比例值不做限定。不同的纠错码字占码字总数的比例,所对应的目标区域是不同的,例如,比例越高,目标区域的面积越小,比例越低,目标区域的面积越大。目标区域用于添加包含水印的图标,为了提高二维码的可读性,目标区域的位置可以为待使用二维码图的中心位置。
在本实施例中,可以利用QR码生成技术,生成原始数据对应的QR码,作为待使用二维码图,进而可以基于待使用二维码图中纠错码字占码字总数的比例确定图标可占待使用二维码图的面积大小。可以基于待使用二维码图的中心位置和可占面积大小,确定形状和尺寸,得到目标区域,将待使用图标的大小(包含形状和尺寸)压缩至与目标区域相一致,以使可以将待添加水印嵌入至压缩后的待使用图标中,得到待嵌入图标,以及使后续将待嵌入图标嵌入至待使用二维码图中的目标区域。
示例性的,在生成原始数据对应的QR码之后,首先确定QR码的中心嵌入区域(即目标区域)的尺寸,待使用图标的图像比例应该同该中心嵌入区域的宽高比例相对应,以防止在嵌入后产生形变。在对待使用图标进行水印嵌入前,可以将待使用图标图像压缩到与中心嵌入区域相同的大小。以在待使用图标图像添加水印之后,可以将原始QR码中心区域的图像替换为添加水印的图标图像。
需要说明的是,为了提高嵌入水印的隐匿性,基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标的实现方式可以是:对待使用图标进行区域划分,得到待使用区域块,并基于各待使用区域块确定待嵌入区域块;对待嵌入区域块进行离散余弦变换处理,得到待使用变换矩阵;对待使用变换矩阵进行奇异值分解,得到与待嵌入区域块相对应的目标变换矩阵;确定待添加水印中的与待嵌入区域块相对应的待填充水印块,并将待填充水印块对应的像素矩阵与目标变换矩阵叠加,得到与待嵌入区域块相对应的目标区域块;基于目标区域块和待使用区域块,确定待嵌入图标。
其中,待使用变换矩阵是指将待嵌入区域块对应的矩阵从空域表示转换为频域表示的矩阵。奇异值分解是一种稳定且可靠的正交矩阵分解方法,可以将矩阵对角化,可以将矩阵分割成不同的矩阵相加,而分割后前面的系数就是SVD值。图像的本质特征是由奇异值体现的,并且图像的奇异值比较稳定,在图像遭受攻击时,奇异值变化不至过大,因此对图像实施奇异值分解可以使得水印的隐匿性和鲁棒性较强。
在本实施例中,可以将待使用图标图像分解为多个不重叠的区域,得到多个待使用区域块。可以从待使用区域块中选取相应的图像分块进行水印分量嵌入,可以将选取的图像作为待嵌入区域块,为了提高数据的安全性,从待使用区域块中选取待嵌入区域块的方式可以是:选择将每两个待使用区域块的第一块作为待嵌入区域块。进一步的,可以将选定的待嵌入区域块对应的矩阵进行DCT(Discrete Cosine Transform,离散余弦变换)处理,得到频域表示的矩阵,即待使用变换矩阵。可以利用奇异值分解函数对待使用变换矩阵进行奇异值分解,得到与待嵌入区域块相对应的目标变换矩阵。可以将待添加水印进行分块,得到多个待填充水印块,以将待添加水印分量嵌入至对应的待嵌入区域块,在确定与待嵌入区域块相对应的待填充水印块之后,可以将待填充水印块对应的像素矩阵与目标变换矩阵叠加,即矩阵中对应的像素点位置数值叠加,实现水印嵌入,将嵌入水印后的待嵌入区域块作为目标区域块。进一步的,可以所有目标区域块和未被嵌入水印的待嵌入区域块进行组合,得到待嵌入图标。
示例性的,可以将大小为M×N的待使用图标图像分解为大小为m×n的非重叠块,每个非重叠块均为一个待使用区域块,例如,可以利用离散余弦变换函数将每个待嵌入区域块转化为相应的DCT系数矩阵,离散余弦变换函数如下述公式(1)所示:
Figure BDA0003923057470000101
其中,fb(x,y)可以表示为第b个待使用区域块的空间域矩阵,Fb(u,v)为第b个待使用区域块的DCT系数矩阵,在基于块的DCT变换中,对DCT系数矩阵中的DCT系数按照Z字形的轨迹进行遍历,将高频部分数据通过压缩去除,得到最终的DCT系数矩阵,实现在载体图像的中、低频部分隐藏水印信息,提高水印的隐蔽性和鲁棒性。进一步的,可以通过SVD对DCT变换后的待使用变换矩阵A进行分解,SVD分解公式可以为:A=USVT,U为A的左异向量,V是A的右异向量,S、U、V均为正交矩阵。将待填充水印块嵌入到经DCT-SVD变换后的目标变换矩阵中。通过使用SVD分解对矩阵进行压缩,用较少的数据就可以近似表示更大的矩阵,提高数据质量。
具体来说,对待嵌入区域块进行离散余弦变换处理,得到待使用变换矩阵,包括:基于待嵌入区域块中各像素点的像素属性,确定与待嵌入区域块相对应的离散余弦变换矩阵;基于预设系数提取规则对离散余弦变换矩阵进行处理,得到与待嵌入区域块相对应的待使用变换矩阵。
其中,离散余弦变换矩阵中各位置点的数值表征对应像素点的离散余弦变换系数。像素属性可以包括像素亮度、像素色度等。预设系数提取规则可以为Z字形提取规则,如将每两个系数的第一个作为提取的系数。
在本实施例中,对于某个待嵌入区域块,可以利用离散余弦变换(DCT)将待嵌入区域块中各空间取样值转变为频率域的数值,即DCT系数。可以基于各DCT系数构建离散余弦变换矩阵。进一步的,可以按照Z字形扫描顺序,提起离散余弦变换矩阵中DCT系数,基于提取的DCT系数构建待使用变换矩阵,减少数据量。
为了提高数据的安全性,在将待填充水印块对应的像素矩阵与目标变换矩阵叠加,得到与待嵌入区域块相对应的目标区域块之后,还包括:对目标区域块进行奇异值变换处理,得到待处理区域块;对待处理区域块进行奇异值逆变换处理,得到待变换区域块;对待变换区域块进行离散余弦逆变换处理,得到处理后的目标区域块,以基于处理后的目标区域块和待使用区域块,确定待嵌入图标。
具体的,可以对每个目标区域块进行SVD变换,或者对每个目标区域块中嵌入的水印进行SVD变换,得到SVD变换处理后的待处理区域块。进而对SVD变换得到的待处理区域块进行SVD逆变换,得到待变换区域块;对每个经过逆SVD变换得到的待变换区域块进行DCT逆变换,得到被多次处理后的目标区域块,以使将嵌入水印的目标区域块与其他未改变的待使用区域块合并,组成最终的带水印的待嵌入图标。
在本实施例中,通过将哈希序列转换成二进制矩阵,并对二进制矩阵Arnold置乱和加密,生成对应二值图像W作为待添加水印,并将待添加水印嵌入到图标图像当中,当二维码的原始数据被替换时,对应的哈希值会发生改变,此时图标图像中隐藏的水印与更改后的原始数据不会存在对应关系,说明该二维码可能遭到修改或替换,提高二维码检测的效果。
S140、基于所述待嵌入图标和与所述原始数据相对应的待使用二维码图,得到目标二维码图。
在本实施例中,在将嵌入水印的目标区域块与其他未改变的待使用区域块合并,组成最终的带水印的待嵌入图标之后,可以将待嵌入图标嵌入至与原始数据相对应的待使用二维码图中,将嵌入图标后的二维码图作为目标二维码图。
需要说明的是,为了提高嵌入效果,可以将待使用二维码图中目标区域图像剪切下来后,将待嵌入图标填充至空白的目标区域中。可选的,基于待嵌入图标和与原始数据相对应的待使用二维码图,得到目标二维码图,包括:裁剪掉待使用二维码图中与目标区域相对应的区域图像,得到待处理二维码图;将待嵌入图标嵌入至待处理二维码图中的目标区域,得到目标二维码图。
具体的,可以将待使用二维码图中目标区域处的区域图像裁剪掉,将裁剪后的图像作为待处理二维码图,此时目标区域处为空白,可以将待嵌入图标嵌入至目标区域,得到目标二维码图。例如,将待使用二维码图进行裁剪,用带有水印待嵌入图标L’替换待使用二维码图的目标区域部分L,生成最终的目标二维码图M。
需要说明的是,在生成原始数据对应的目标二维码图之后,可以对目标二维码图进行检测,目标二维码图检测过程为生成过程的逆过程,从输入的目标二维码图中分离出待嵌入图标,提取待嵌入图标中嵌入的水印A,同时对目标二维码图携带原始数据内容进行解析,根据原始数据内容生成水印B,然后将提取的水印A同生成的水印B进行比较,根据水印的匹配情况判断目标二维码图是否为合法QR码。如果水印不能匹配,说明目标二维码图遭到了篡改,是不安全的QR码,此时可以生成提示信息,以基于提示信息提示用户数据被篡改。当判断目标二维码图为未被篡改的可信QR码时,可以将解析的原始数据作为最终安全的内容。
本实施例的技术方案,通过获取用于生成二维码的原始数据,并确定与原始数据相对应的哈希序列;基于置乱函数对哈希序列进行处理,得到与原始数据相对应的待添加水印;基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标;基于待嵌入图标和与原始数据相对应的待使用二维码图,得到目标二维码图,解决了现有技术中通过添加噪声隐藏水印,导致水印隐匿效果差的问题,实现了通过使用一定长度的hash值来生成水印图像,减少隐藏数据的容量,合理地控制了数据嵌入量,提高水印嵌入时的隐匿性,同时通过对水印进行置乱处理,提高了水印的安全性以及鲁棒性,同时通过在图标当中隐藏与原始数据对应的水印,在提高水印添加效果的同时,保障二维码数据的安全,达到提高用户使用体验的效果。
实施例二
作为上述实施例的一可选实施例,为了使本领域技术人员进一步清楚本发明实施例的技术方案,给出具体的应用场景实例。具体的,可以参见下述具体内容。
参见图2,可以获取原始数据作为QR码的原始文本信息,进而利用单向散列函数对原始数据进行hash(哈希)处理,经过hash处理之后的原始文本信息会被转换成定长的数据,生成哈希序列。经过散列函数处理可以有效保护文本信息,当QR码的文本内容被替换时,其对应的hash值会发生改变。为了增强hash序列的安全性,将哈希序列转换成二进制矩阵,再采用Arnold置乱和加密对二进制矩阵进行处理,得到置乱后的数据,作为待添加水印,未加密置乱的水印二进制矩阵对应的二值图像如图2中的A所示,待添加水印的示意图如图2中的B所示。置乱后的数据与原始文本信息没有相关性,对置乱后的数据进行恢复需要输入置乱转换次数和密钥,即使提取了加密置乱后的数据也不能解析其含义,提高数据的安全性。以使将待添加水印作为最终的水印嵌入到待嵌入图标图像当中,以检测QR码是否遭到修改或替换。为了便于在QR码图像的图标当中隐藏信息,采取对QR码的图像进行剪切和拼接还原的操作。首先确定QR码的中心嵌入区域(即目标区域)的尺寸,待使用图标的图像比例应该同该中心嵌入区域的宽高比例相对应,以防止在嵌入后产生形变。在对待使用图标进行水印嵌入前,可以将待使用图标图像压缩到与中心嵌入区域相同的大小。将待添加水印嵌入压缩后的待使用图标图像的实现方式可以是:将大小为M×N的待使用图标图像f分解为大小为m×n的非重叠块,得到多个待使用区域块,选择将每两个待使用区域块的第一块作为水印嵌入的位置,即待嵌入区域块。可以将每个待嵌入区域块转化为DCT系数矩阵,在转化过程中,可以对待嵌入区域块中各DCT系数按照Z字形的轨迹进行遍历,提取遍历到的DCT系数,构建每个待嵌入区域块对应的DCT系数矩阵,即待使用变换矩阵。进一步的,对待使用变换矩阵进行奇异值(SVD)变换,得到目标变换矩阵,将待添加水印的分块嵌入到经DCT-SVD变换后的图像分块的中,即将分块的像素值矩阵和目标变换矩阵叠加,得到目标区域块,对每个目标区域块中的水印进行SVD变换,进而对SVD变换后的分块进行SVD逆变换,进而对每个经过逆SVD变换的分块进行DCT逆变换,得到最终处理后的目标区域块,目标区域块为为嵌入水印的图像分块,可以将嵌入水印的图像分块与其他未改变的图像分块合并,组成最终的带水印的待嵌入图标,可以将原始文本信息对应的QR码图像进行裁剪,用带有水印的待嵌入图标替换QR码图像的目标区域部分,生成最终的QR码M,即目标二维码图。示例性的,目标二维码图生成方式可以是:对原始数据使用散列函数生成hash序列,为了增强其安全性,将hash序列转换成二进制矩阵,再采用Arnold置乱和加密对二进制矩阵进行处理,生成用于防篡改的水印二值图像,即待添加水印。确定QR码(即待使用二维码图)的中心嵌入区域的尺寸,将图标图像压缩到与嵌入区域相同的大小。使用DCT和SVD变换在图标图像添加待添加水印之后,得到待嵌入图标,将待使用二维码图进行裁剪,把中心区域的图像替换为含有水印的待嵌入图标,得到最终的含有隐藏校验信息的目标二维码图。其具体的实现方法为:根据原始数据,使用单向散列函数生成hash序列;将hash序列转换成二进制矩阵,生成对应二值图像W作为嵌入水印;选择待使用图标图像将其处理成合适的规格,待使用图标图像将作为隐藏信息的载体;将处理后的待使用图标图像L分割成8×8非重叠块LB;选取图像分块LB进行水印分量嵌入,为了提高安全性选择将每两个分块的第一块作为水印嵌入的位置;对选定位置的图像分块LB进行DCT变换;将水印W通过Arnold置乱和设置密钥加密为待添加水印AW,并对AW分块;对DCT变换后的图像分块LB进行SVD变换;将AW分块嵌入到经DCT-SVD变换后的图像分块中;对每个嵌入水印块进行SVD变换;对SVD变换后的嵌入水印块进行SVD逆变换;对每个经过逆SVD变换的分块进行DCT逆变换;将嵌入水印的图像分块与其他未改变的图像分块合并,组成最终的带水印的带嵌入图标L’;将原始QR码图像(即待使用二维码图)进行裁剪,用带有水印的L’替换原始QR码图像的中间部分,生成最终的QR码M。
在上述方案的基础上,在生成目标二维码图M之后,可以对目标二维码图M进行检验,示例性的,可以参见图4,图4可以表示为二维码检验方法示意图,目标二维码图检测过程为目标二维码图生成过程的逆过程,可以从输入的目标二维码图中分离出已嵌入水印的图标,提取图标中嵌入的水印B,同时对目标二维码图M携带内容进行解析,根据内容生成水印A,然后将提取的水印B同生成的水印A进行比较,根据水印的匹配情况判断目标二维码图是否为合法QR码。如果水印不匹配,说明目标二维码图遭到了修改,是不安全的QR码。如果水印匹配,判断目标二维码图为未被篡改的可信QR码,此时将解析的QR码文本内容作为最终安全的文本内容。其具体的检测方式可以是:获取嵌入了水印的目标二维码图M;将图像M进行分割,提取出嵌入了水印的待嵌入图标L’;将图像L’分割成8×8非重叠块LB’;在提取水印时选择每2个非重叠的块LB’的第一块进行水印模块提取;对每个选定的非重叠水印图像块进行DCT变换,进行水印提取;对DCT变换后的水印图像块进行SVD变换;对DCT-SVD变换后的水印图像块进行逆SVD变换;对加密水印AW’进行提取;利用密钥和Arnold逆变换,根据提取阈值T还原出最终的水印B;解析M中内容,根据内容生成水印A;将A与B进行对比,判断QR码是否发生修改。
本技术方案通过在图标当中隐藏与QR码的原始数据,起到对QR码的身份进行验证的作用,当QR码的原始数据被改变时,会破坏图标水印与QR码的对应关系,从而保障QR码的安全。同时在进行水印嵌入时,考虑到隐藏数据的容量,使用一定长度的hash值来生成水印图像,合理地控制了数据嵌入量。同时在水印检测阶段,对直接通过提取的水印同QR码解析的hash值进行对比,方法简单方便。在水印的嵌入过程进行了置乱、加密、压缩等处理,结合了QR码的特征以及水印的特点,使其能够更好地嵌入,保证了水印的安全性以及鲁棒性。在水印处理时采用DCT变换和SVD变换,对于图像在受到一定压缩、旋转以及噪声等攻击时,可以对QR码进行正常识别和检测,提高数据安全性。
本实施例的技术方案,通过获取用于生成二维码的原始数据,并确定与原始数据相对应的哈希序列;基于置乱函数对哈希序列进行处理,得到与原始数据相对应的待添加水印;基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标;基于待嵌入图标和与原始数据相对应的待使用二维码图,得到目标二维码图,解决了现有技术中通过添加噪声隐藏水印,导致水印隐匿效果差的问题,实现了通过使用一定长度的hash值来生成水印图像,减少隐藏数据的容量,合理地控制了数据嵌入量,提高水印嵌入时的隐匿性,同时通过对水印进行置乱处理,提高了水印的安全性以及鲁棒性,同时通过在图标当中隐藏与原始数据对应的水印,在提高水印添加效果的同时,保障二维码数据的安全,达到提高用户使用体验的效果。
实施例三
图5是根据本发明实施例三提供的一种二维码生成装置的结构示意图。如图5所示,该装置包括:哈希序列确定模块510、待添加水印确定模块520、待嵌入图标确定模块530和目标二维码图确定模块540。
其中,哈希序列确定模块510,用于获取用于生成二维码的原始数据,并确定与所述原始数据相对应的哈希序列;待添加水印确定模块520,用于基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印;待嵌入图标确定模块530,用于基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标;目标二维码图确定模块540,用于基于所述待嵌入图标和与所述原始数据相对应的待使用二维码图,得到目标二维码图。
本实施例的技术方案,通过获取用于生成二维码的原始数据,并确定与原始数据相对应的哈希序列;基于置乱函数对哈希序列进行处理,得到与原始数据相对应的待添加水印;基于待添加水印和与原始数据相对应的待使用图标,得到待嵌入图标;基于待嵌入图标和与原始数据相对应的待使用二维码图,得到目标二维码图,解决了现有技术中通过添加噪声隐藏水印,导致水印隐匿效果差的问题,实现了通过使用一定长度的hash值来生成水印图像,减少隐藏数据的容量,合理地控制了数据嵌入量,提高水印嵌入时的隐匿性,同时通过对水印进行置乱处理,提高了水印的安全性以及鲁棒性,同时通过在图标当中隐藏与原始数据对应的水印,在提高水印添加效果的同时,保障二维码数据的安全,达到提高用户使用体验的效果。
哈希序列确定模块510,还用于基于散列函数对所述原始数据进行处理,得到与所述原始数据相对应的哈希序列。
在上述装置的基础上,可选的,所述待添加水印确定模块520,包括二进制矩阵确定单元和待添加水印确定单元。
二进制矩阵确定单元,用于确定与所述哈希序列相对应的二进制矩阵;
待添加水印确定单元,用于基于所述置乱函数对所述二进制矩阵进行置乱处理,得到待添加水印;其中,所述置乱函数是根据预设密钥对原始置乱函数加密处理生成的。
在上述装置的基础上,可选的,所述装置还包括待使用图标压缩模块,所述待使用图标压缩模块包括:
目标区域确定单元,用于基于待使用二维码图中纠错码字占码字总数的比例,确定所述待使用二维码图中的目标区域;
待使用图标压缩单元,用于将待使用图标的大小压缩至与所述目标区域相一致,以将所述待添加水印嵌入至压缩后的待使用图标中,得到待嵌入图标。
在上述装置的基础上,可选的,所述待嵌入图标确定模块530,包括:
待嵌入区域块确定单元,用于对所述待使用图标进行区域划分,得到待使用区域块,并基于各待使用区域块确定待嵌入区域块;
待使用变换矩阵确定单元,用于对所述待嵌入区域块进行离散余弦变换处理,得到待使用变换矩阵;
目标变换矩阵确定单元,用于对所述待使用变换矩阵进行奇异值分解,得到与所述待嵌入区域块相对应的目标变换矩阵;
目标区域块确定单元,用于确定所述待添加水印中的与所述待嵌入区域块相对应的待填充水印块,并将所述待填充水印块对应的像素矩阵与所述目标变换矩阵叠加,得到与所述待嵌入区域块相对应的目标区域块;
待嵌入图标确定单元,用于基于所述目标区域块和所述待使用区域块,确定所述待嵌入图标。
在上述装置的基础上,可选的,所述待使用变换矩阵确定单元包括:
离散余弦变换矩阵确定子单元,用于基于所述待嵌入区域块中各像素点的像素属性,确定与所述待嵌入区域块相对应的离散余弦变换矩阵;其中,所述离散余弦变换矩阵中各位置点的数值表征对应像素点的离散余弦变换系数;
待使用变换矩阵确定子单元,用于基于预设系数提取规则对所述离散余弦变换矩阵进行处理,得到与所述待嵌入区域块相对应的待使用变换矩阵。
在上述装置的基础上,可选的,所述待嵌入图标确定模块530,还包括目标区域块更新单元,所述目标区域块更新单元,包括:
待处理区域块确定子单元,用于对所述目标区域块进行奇异值变换处理,得到待处理区域块;
待变换区域块确定子单元,用于对所述待处理区域块进行奇异值逆变换处理,得到待变换区域块;
目标区域块更新子单元,用于对所述待变换区域块进行离散余弦逆变换处理,得到处理后的目标区域块,以基于处理后的目标区域块和所述待使用区域块,确定所述待嵌入图标。
在上述装置的基础上,可选的,目标二维码图确定模块540,包括:
待处理二维码图确定单元,用于裁剪掉所述待使用二维码图中与目标区域相对应的区域图像,得到待处理二维码图;
目标二维码图确定单元,用于将所述待嵌入图标嵌入至所述待处理二维码图中的目标区域,得到所述目标二维码图。
本发明实施例所提供的二维码生成装置可执行本发明任意实施例所提供的二维码生成方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6是实现本发明实施例的二维码生成方法的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如二维码生成方法。
在一些实施例中,二维码生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的二维码生成方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行二维码生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种二维码生成方法,其特征在于,包括:
获取用于生成二维码的原始数据,并确定与所述原始数据相对应的哈希序列;
基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印;
基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标;
基于所述待嵌入图标和与所述原始数据相对应的待使用二维码图,得到目标二维码图。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述原始数据相对应的哈希序列,包括:
基于散列函数对所述原始数据进行处理,得到与所述原始数据相对应的哈希序列。
3.根据权利要求1所述的方法,其特征在于,所述基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印,包括:
确定与所述哈希序列相对应的二进制矩阵;
基于所述置乱函数对所述二进制矩阵进行置乱处理,得到待添加水印;其中,所述置乱函数是根据预设密钥对原始置乱函数加密处理生成的。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标之前,还包括:
基于待使用二维码图中纠错码字占码字总数的比例,确定所述待使用二维码图中的目标区域;
将待使用图标的大小压缩至与所述目标区域相一致,以将所述待添加水印嵌入至压缩后的待使用图标中,得到待嵌入图标。
5.根据权利要求1所述的方法,其特征在于,所述基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标,包括:
对所述待使用图标进行区域划分,得到待使用区域块,并基于各待使用区域块确定待嵌入区域块;
对所述待嵌入区域块进行离散余弦变换处理,得到待使用变换矩阵;
对所述待使用变换矩阵进行奇异值分解,得到与所述待嵌入区域块相对应的目标变换矩阵;
确定所述待添加水印中的与所述待嵌入区域块相对应的待填充水印块,并将所述待填充水印块对应的像素矩阵与所述目标变换矩阵叠加,得到与所述待嵌入区域块相对应的目标区域块;
基于所述目标区域块和所述待使用区域块,确定所述待嵌入图标。
6.根据权利要求5所述的方法,其特征在于,所述对所述待嵌入区域块进行离散余弦变换处理,得到待使用变换矩阵,包括:
基于所述待嵌入区域块中各像素点的像素属性,确定与所述待嵌入区域块相对应的离散余弦变换矩阵;其中,所述离散余弦变换矩阵中各位置点的数值表征对应像素点的离散余弦变换系数;
基于预设系数提取规则对所述离散余弦变换矩阵进行处理,得到与所述待嵌入区域块相对应的待使用变换矩阵。
7.根据权利要求5所述的方法,其特征在于,在所述将所述待填充水印块对应的像素矩阵与所述目标变换矩阵叠加,得到与所述待嵌入区域块相对应的目标区域块之后,还包括:
对所述目标区域块进行奇异值变换处理,得到待处理区域块;
对所述待处理区域块进行奇异值逆变换处理,得到待变换区域块;
对所述待变换区域块进行离散余弦逆变换处理,得到处理后的目标区域块,以基于处理后的目标区域块和所述待使用区域块,确定所述待嵌入图标。
8.根据权利要求1或4所述的方法,其特征在于,所述基于所述待嵌入图标和与所述原始数据相对应的待使用二维码图,得到目标二维码图,包括:
裁剪掉所述待使用二维码图中与目标区域相对应的区域图像,得到待处理二维码图;
将所述待嵌入图标嵌入至所述待处理二维码图中的目标区域,得到所述目标二维码图。
9.一种二维码生成装置,其特征在于,包括:
哈希序列确定模块,用于获取用于生成二维码的原始数据,并确定与所述原始数据相对应的哈希序列;
待添加水印确定模块,用于基于置乱函数对所述哈希序列进行处理,得到与所述原始数据相对应的待添加水印;
待嵌入图标确定模块,用于基于所述待添加水印和与所述原始数据相对应的待使用图标,得到待嵌入图标;
目标二维码图确定模块,用于基于所述待嵌入图标和与所述原始数据相对应的待使用二维码图,得到目标二维码图。
10.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的二维码生成方法。
CN202211363931.9A 2022-11-02 2022-11-02 二维码生成方法、装置、电子设备及存储介质 Pending CN115630670A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211363931.9A CN115630670A (zh) 2022-11-02 2022-11-02 二维码生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211363931.9A CN115630670A (zh) 2022-11-02 2022-11-02 二维码生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115630670A true CN115630670A (zh) 2023-01-20

Family

ID=84909166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211363931.9A Pending CN115630670A (zh) 2022-11-02 2022-11-02 二维码生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115630670A (zh)

Similar Documents

Publication Publication Date Title
Swaminathan et al. Robust and secure image hashing
CN112307520B (zh) 电子印章添加和验证方法及系统
CN111784556A (zh) 在图像中添加数字水印的方法、装置、终端及存储介质
CN109785222B (zh) 一种用于网页的信息快速嵌入和提取的方法
Liu et al. Robust blind image watermarking based on chaotic mixtures
Wu et al. SVD-based self-embedding image authentication scheme using quick response code features
CN110968847A (zh) 一种文件水印隐藏、解析方法、装置、设备及存储介质
Bhautmage et al. Advanced video steganography algorithm
Hadmi et al. A robust and secure perceptual hashing system based on a quantization step analysis
Rose et al. A secure verifiable scheme for secret image sharing
Al-Otum et al. Copyright protection of color images for android-based smartphones using watermarking with quick-response code
Gan et al. Exploiting compressed sensing and polynomial-based progressive secret image sharing for visually secure image selection encryption with authentication
CN103559251B (zh) 基于信息隐藏的数据安全保护方法
CN113592698B (zh) 基于十六元数矩的多视角彩色图像零水印处理方法及系统
CN110069907A (zh) 基于数字水印的大数据溯源方法及系统
Xing et al. A color watermarking scheme based on block-SVD and Arnold transformation
Cao et al. Approaches to obtaining fingerprints of steganography tools which embed message in fixed positions
CN115630670A (zh) 二维码生成方法、装置、电子设备及存储介质
Riaz et al. Image authentication and restoration by multiple watermarking techniques with advance encryption standard in digital photography
CN113177214A (zh) 图像发布、审核方法、相关装置及计算机程序产品
Kaushik et al. A two stage hybrid model for image encryption and compression to enhance security and efficiency
Chinniyan et al. Image Steganography Using Deep Neural Networks.
Shuo et al. A visually secure image encryption method based on semi-tensor product compressed sensing and IWT-HD-SVD embedding
CN112017099B (zh) 一种程序代码在图像中隐藏、解析的方法及系统
CN116506558B (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