CN115550030A - 数据加密方法、装置、存储介质及电子设备 - Google Patents

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

Info

Publication number
CN115550030A
CN115550030A CN202211190638.7A CN202211190638A CN115550030A CN 115550030 A CN115550030 A CN 115550030A CN 202211190638 A CN202211190638 A CN 202211190638A CN 115550030 A CN115550030 A CN 115550030A
Authority
CN
China
Prior art keywords
character string
binary
character
target
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.)
Pending
Application number
CN202211190638.7A
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.)
Chengdu Boe Smart Technology Co ltd
BOE Technology Group Co Ltd
Original Assignee
Chengdu Boe Smart Technology Co ltd
BOE Technology Group 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 Chengdu Boe Smart Technology Co ltd, BOE Technology Group Co Ltd filed Critical Chengdu Boe Smart Technology Co ltd
Priority to CN202211190638.7A priority Critical patent/CN115550030A/zh
Publication of CN115550030A publication Critical patent/CN115550030A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供一种数据加密方法、装置、存储介质及电子设备;涉及计算机技术领域。所述方法包括:获取用户随机生成的进制转换密钥;根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。本公开可以实现对称加密算法中密文的控制。

Description

数据加密方法、装置、存储介质及电子设备
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据加密方法、数据加密装置、计算机可读存储介质以及电子设备。
背景技术
在计算机技术领域,经常涉及到信息加密和压缩。目前,常见的加密算法包括对称加密算法和非对称加密算法。其中,由于非对称加密算法的加解密过程中涉及的元素过多,且加解密步骤过于复杂,导致非对称加密算法的应用场景存在较高的局限性。而对称加密算法仅需要一个密钥即可实现加解密,加解密步骤相对简单。但是,对称加密得到的密文无法定制,导致密文不可控,从而无法应用于一些特定场景中。
需要说明的是,在上述背景技术部分公开的信息仅用于增强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据加密方法、数据加密装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于对称加密得到的密文无法定制,导致密文不可控,使得对称加密算法的应用场景存在局限性的问题。
根据本公开的第一方面,提供一种数据加密方法,包括:
获取用户随机生成的进制转换密钥;
根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。
在本公开的一种示例性实施例中,根据所述进制转换密钥对目标明文进行加密之前,所述方法还包括:
将所述目标明文分解为多种类型的第一字符串;
利用预设的编码方式将对应类型的第一字符串转换为第二字符串;
按照预设的进制转换顺序将所述目标明文转换为第三字符串;
组合所述第一字符串、所述第二字符串和所述第三字符串,得到第一进制字符串。
在本公开的一种示例性实施例中,所述进制转换密钥为预设长度的进制转换密钥,所述目标属性包括密钥长度;
所述根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文,包括:
根据所述预设长度的进制转换密钥将所述第一进制字符串转换为目标长度的第二进制字符串,并将所述第二进制字符串作为第一密文。
在本公开的一种示例性实施例中,所述进制转换密钥为包含预设内容的进制转换密钥,所述目标属性包括密钥内容;
所述根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文,包括:
根据所述包含预设内容的进制转换密钥将所述第一进制字符串转换为包含目标内容的所述第三进制字符串,并将所述第三进制字符串作为第二密文。
在本公开的一种示例性实施例中,所述方法还包括:
计算所述目标明文的长度,并将所述目标明文的长度转换为第四进制字符串;
将所述第四进制字符串添加至所述第二进制字符串或所述第三进制字符串中的目标位置处以得到第三密文。
在本公开的一种示例性实施例中,所述第一字符串的类型为第一类型;所述利用预设的编码方式将对应类型的第一字符串转换为第二字符串,包括:
根据预设的第一字符映射表对所述第一类型的第一字符串中的各个字符进行编码,得到多个第一编码值;
获取用户生成的第一随机数,并根据各所述第一编码值与所述第一随机数计算得到所述第二字符串。
在本公开的一种示例性实施例中,所述第一字符串的类型为第二类型;所述利用预设的编码方式将对应类型的第一字符串转换为第二字符串,包括:
根据预设的第二字符映射表对所述第二类型的第一字符串中的各个字符进行编码,得到多个第二编码值;
将所述多个第二编码值进行拼接,得到所述第二字符串。
在本公开的一种示例性实施例中,所述按照预设的进制转换顺序将所述目标明文转换为第三字符串,包括:
遍历所述目标明文中的各个字符,并将所述目标明文中符合目标类型的字符转换为第三编码值,将除所述目标类型的字符外的其它字符转换为第四编码值;
基于所述目标明文中的各个字符的位置,由所述第三编码值和所述第四编码值组成中间进制字符串;
将所述中间进制字符串转换为目标进制的所述第三字符串。
在本公开的一种示例性实施例中,所述组合所述第一字符串、所述第二字符串和所述第三字符串,得到第一进制字符串,包括:
获取加密系统生成的第二随机数;
按照预设顺序将目标类型的所述第一字符串、将各种类型的所述第一字符串转换得到的多个所述第二字符串、所述第三字符串和所述第二随机数进行组合,得到所述第一进制字符串。
根据本公开的第二方面,提供一种数据加密装置,包括:
密钥获取模块,用于获取用户随机生成的进制转换密钥;
数据加密模块,用于根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理单元执行时实现上述任意一项所述的方法。
根据本公开的第四方面,提供一种电子设备,包括:处理单元;显示单元;以及存储单元,用于存储所述处理单元的可执行指令;其中,所述处理单元配置为经由执行所述可执行指令来执行上述任意一项所述的方法;所述显示单元用于显示执行上述任意一项所述的方法后生成的密文。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例实施方式所提供的数据加密方法中,通过获取用户随机生成的进制转换密钥;根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。本公开可以实现对称加密算法中密文的控制,使得对称加密算法可以灵活地应用于更多场景中。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了可以应用本公开实施例的数据加密方法的系统架构示意图;
图2示意性示出了本公开实施例中一种数据加密方法的流程图;
图3示意性示出了本公开实施例中一种数据预处理的流程图;
图4示意性示出了本公开实施例中一种数据转换的流程图;
图5示意性示出了本公开实施例中一种位图转换的流程图;
图6示意性示出了本公开实施例中一种利用进制转换密钥进行进制转换的流程图;
图7示意性示出了本公开实施例中另一种数据加密方法的流程图;
图8示意性示出了本公开实施例中一种数据加密方法中的解密流程图;
图9示意性示出了本公开实施例中一种数据加密装置的框图;
图10示意性示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种数据加密方法的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等。服务器105可以是一台服务器,也可以是多个服务器组成的服务器集群,还可以是一个虚拟化平台或者是一个云计算服务中心。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本公开的示例性实施方式所提供的数据加密方法一般由服务器105执行,相应地,数据加密装置一般设置于服务器105中。例如,服务器105接收到用户通过终端设备101输入的进制转换密钥后,根据进制转换密钥对目标明文进行加密,得到与进制转换密钥的目标属性对应的密文,并将该密文发送至终端设备101,以展示给用户。但本领域技术人员容易理解的是,本公开的示例性实施方式所提供的数据加密方法也可以由终端设备101、102、103中的一个或多个执行,相应的,数据加密装置也可以设置于终端设备101、102、103中。例如,由终端设备101执行数据加密方法,根据用户随机生成的进制转换密钥对目标明文进行加密,得到与进制转换密钥的目标属性对应的密文,可以将该密文直接显示在终端设备101的显示屏上以向用户展示,本示例性实施例中对此不做特殊限定。
以下对本公开实施例的技术方案进行详细阐述:
本公开示例实施方式中,以OCR(optical character recognition,光学字符识别/文字识别)识别场景为例进行说明。示例性的,利用对称加密算法得到的密文以图片的形式通过OCR识别系统进行识别时,为了保证系统识别的准确性,需要对密文进行约束。例如,可以控制密文中不包含容易混淆的字符,如密文中不能同时包含阿拉伯数字1、英文小写字母l和英文大写字母I。
但是,目前对称加密得到的密文无法定制,导致密文不可控,从而无法应用于一些特定场景中。例如,在OCR识别过程中,若终端设备用于展示密文的区域有限,需要控制密文长度的场景,或者为了避免识别错误,需要控制密文中不包含容易混淆的字符的场景,或者根据用户的实际需求需要对密文进行控制的其它场景,本公开对此不做具体限定。
基于上述一个或多个问题,本示例实施方式提供了一种数据加密方法,能够实现对称加密算法中密文的控制。参考图2所示,该数据加密方法可以包括步骤S210至步骤S220:
步骤S210.获取用户随机生成的进制转换密钥;
步骤S220.根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。
在本公开示例实施方式所提供的数据加密方法中,通过获取用户随机生成的进制转换密钥;根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。本公开可以实现对称加密算法中密文的控制,使得对称加密算法可以灵活地应用于更多场景中。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
在步骤S210中,获取用户随机生成的进制转换密钥。
本公开示例实施方式中,可以获取用户随机生成的进制转换密钥,并利用该进制转换密钥对数据进行对称加密。其中,进制转换密钥用于对某一段字符串进行进制转换,以实现对该字符串的加密。例如,可以根据进制转换密钥将10进制的字符串转换成34进制的字符串,对应的,10进制的字符串为明文,34进制的字符串为加密得到的密文。举例而言,用户随机生成的一种进制转换密钥可以是“QGZVCXE012BD”。
需要说明的是,用户可以根据应用场景中的实际需求随机生成不同的进制转换密钥,但是在同一应用场景中每次生成的进制转换密钥需要满足相同的约束条件。其中,约束条件可以是指对进制转换密钥的长度、内容等属性进行约束。例如,当进制转换密钥的长度较长时,生成的密文长度则较短,反之,生成的密文长度则较长。举例而言,在某一应用场景中,要求生成的密文不超过5个字符,可以约束随机生成的进制转换密钥不少于10个字符。可以理解的是,用户每次生成的进制转换密钥的内容可以是不同的,但是均满足不少于10个字符的约束条件,以保证生成满足用户需求的密文。
获取用户随机生成的进制转换密钥后,可以选取一段待加密明文作为目标明文,并利用进制转换密钥对该目标明文进行加密。参考图3所示,利用进制转换密钥对目标明文进行加密之前,可以根据步骤S310至步骤S340对目标明文进行预处理。
步骤S310.将所述目标明文分解为多种类型的第一字符串。
一种示例实施方式中,目标明文可以包含一种或多种类型的字符,例如,可以是英文字母、阿拉伯数字和特殊字符等类型的字符,本公开对此不做具体限定。为了提高数据的安全性,可以将目标明文分解为多种类型的第一字符串,以对各种类型的第一字符串进行不同方式的加密。示例性的,当目标明文中包含英文字母、阿拉伯数字和特殊字符三种类型的字符时,可以将目标明文中的所有字符进行分解和重组,由目标明文中所有的英文字母组成英文字母类型的第一字符串,由目标明文中所有的阿拉伯数字组成阿拉伯数字类型的第一字符串,由目标明文中所有的特殊字符组成特殊字符类型的第一字符串。
举例而言,目标明文为“A1+B2/C3*”时,可以将该目标明文分解为“ABC”、“123”、“+/*”三种类型的第一字符串。
步骤S320.利用预设的编码方式将对应类型的第一字符串转换为第二字符串。
若将目标明文分解为多种类型的第一字符串,可以利用预设的编码方式对各种类型的第一字符串进行不同方式的编码,从而增加密文的破解难度。
一种示例实施方式中,参考图4所示,可以根据步骤S410和步骤S420编码第一类型的第一字符串。
步骤S410.根据预设的第一字符映射表对所述第一类型的第一字符串中的各个字符进行编码,得到多个第一编码值。
第一类型的第一字符串可以是英文字母类型的第一字符串,也可以是阿拉伯数字类型的第一字符串,还可以是特殊字符类型的第一字符串,本公开对此不做具体限定。与第一类型的第一字符串对应的预设的编码方式可以是ASCII(American Standard Code forInformation Interchange,美国信息交换标准代码)编码,对应的,预设的部分第一字符映射表如表1所示:
表1
十进制 八进制 十六进制 二进制 符号 中文解释
33 041 21 00100001 感叹号
48 060 30 00110000 0 0
65 101 41 01000001 A 英文大写字母A
66 102 41 01000010 B 英文大写字母B
表1给出了各种类型的部分字符对应的第一编码值,即不同进制ASCII码。以英文大写字母A为例,英文大写字母A的十进制ASCII码为65,八进制ASCII码为101,十六进制ASCII码为41,二进制ASCII码为01000001。
示例性的,将英文字母类型的第一字符串作为第一类型的第一字符串。例如,对于第一字符串“ABC”,可以将该字符串中的各个英文字母转换为十进制ASCII码,得到新的字符串为“656667”。其它示例中,也可以根据用户的实际需求将该字符串中的各个英文字母转换为其它进制的ASCII码,本公开对此不做限定。
步骤S420.获取用户生成的第一随机数,并根据各所述第一编码值与所述第一随机数计算得到所述第二字符串。
为了进一步提高数据的安全性,将第一类型的第一字符串转换为ASCII码后,可以获取用户生成的第一随机数,并根据各字符对应的ASCII码与第一随机数计算得到第二字符串。可以理解的是,第一随机数的进制类型与ASCII码的进制类型是一致的。示例性的,将第一字符串中的字符转换为ASCII码后,可以计算ASCII码与该第一随机数的差值,并将得到的差值作为该字符的最新编码值。其它示例中,也可以计算ASCII码与该第一随机数的和,并将该值作为该字符的最新编码值,本公开对此不做限定。
例如,若用户生成的第一随机数为38,将第一字符串“ABC”转换为字符串“656667”后,可以将各个字符的ASCII码减去38,基于此,第一字符串“ABC”最终转换为第二字符串“272829”。
该示例中,将第一类型的第一字符串进行ASCII码转化时减去的数值具有随机性,且该随机数仅用户可知,其它破译者不易获取该随机数的具体数值,提高了密文的破译难度,从而提高了数据的安全性。
另一种示例实施方式中,若第一字符串的类型为第二类型,如为特殊字符类型的第一字符串。可以根据预设的第二字符映射表对第二类型的第一字符串中的各个字符进行编码,得到多个第二编码值,并将多个第二编码值进行拼接,得到第二字符串。示例性的,预设的部分第二字符映射表如表2所示:
表2
Figure BDA0003869106380000091
Figure BDA0003869106380000101
表2给出了多个特殊字符的映射码,即各个字符对应的第二编码值。例如,特殊字符“、”的第二编码值为X,特殊字符“!”的第二编码值为Y,特殊字符“@”的第二编码值为1。需要说明的是,可以由用户根据实际需求自定义第二字符映射表,本公开对第二字符映射表中的映射关系不做具体限定。
举例而言,对于第一字符串“+/*”,根据如表2所示的第二字符映射表可以获取该第一字符串中的各个特殊字符对应的映射码。具体地,特殊字符“+”的映射码为7,特殊字符“/”的映射码为8,特殊字符“*”的映射码为9,按照第一字符串中各个特殊字符的位置将对应的三个映射码进行拼接,得到第二字符串“789”。
该示例中,通过对第二类型的第一字符串进行字符映射,实现了针对不同类型的第一字符串进行不同方式的编码,增加了整个加密过程的加密步骤,进一步提高了数据的安全性。
步骤S330.按照预设的进制转换顺序将所述目标明文转换为第三字符串。
仍以目标明文“A1+B2/C3*”为例进行说明,该目标明文中包括英文字母、阿拉伯数字和特殊字符三种类型的字符。一种示例实施方式中,可以将英文字母类型和阿拉伯数字类型作为目标类型。参考图5所示,可以根据步骤S510至步骤S530将目标明文转换为第三字符串。
步骤S510.遍历所述目标明文中的各个字符,并将所述目标明文中符合目标类型的字符转换为第三编码值,将除所述目标类型的字符外的其它字符转换为第四编码值。
目标类型为英文字母类型时,可以遍历目标明文中的各个字符,将目标明文中为英文字母类型的字符转化为第三编码值,将其它不是英文字母类型的字符转换为第四编码值。例如,对于目标明文“A1+B2/C3*”,可以将该明文中的每个英文字母标记为第三编码值,如1,将该明文中除英文字母外的其它字符标记为第四编码值,如0。
步骤S520.基于所述目标明文中的各个字符的位置,由所述第三编码值和所述第四编码值组成中间进制字符串。
对应于目标明文中的各个字符的位置,可以由第三编码值和第四编码值组成中间进制字符串。例如,对应于目标明文“A1+B2/C3*”中各个字符的位置,将A、B和C标记为“1”,将1、+、2、/、3和*标记为“0”,从而可以将目标明文“A1+B2/C3*”转换为一个中间进制字符串,如二进制字符串“100100100”。
步骤S530.将所述中间进制字符串转换为目标进制的所述第三字符串。
得到中间进制字符串后,可以按照预设的进制转换顺序再将中间进制字符串转换为目标进制的第三字符串。示例性的,预设的进制转换顺序可以是将目标明文转换为二进制字符串,再将二进制字符串转换为与十进制的第三字符串。需要说明的是,本公开对预设的进制转换顺序不做具体限定,用户可以根据实际需求自定义进制转换顺序。
例如,将目标明文“A1+B2/C3*”转换为二进制字符串“100100100”后,可以将该二进制字符串转换为十进制的第三字符串。其中,为了防止首位为0,可以在该二进制字符串前面拼接一个“1”,得到新的二进制字符串“1100100100”,转换为十进制后,得到第三字符串“804”。
类似的,目标类型为阿拉伯数字类型,预设的进制转换顺序是将目标明文转换为二进制字符串,再将二进制字符串转换为与十进制的第三字符串时,可以遍历目标明文中的各个字符,将目标明文中为阿拉伯数字类型的字符转化为第三编码值,将其它不是阿拉伯数字类型的字符转换为第四编码值。例如,对于目标明文“A1+B2/C3*”,可以将该明文中的每个阿拉伯数字标记为第三编码值,如1,将该明文中除阿拉伯数字外的其它字符标记为第四编码值,如0。对应于目标明文“A1+B2/C3*”中各个字符的位置,将1、2和3标记为“1”,将A、+、B、/、C和*标记为“0”,从而可以将目标明文“A1+B2/C3*”转换为二进制字符串“010010010”。将该二进制字符串“010010010”转换为十进制的第三字符串时,同样为了防止首位为0,可以在该二进制字符串前面拼接一个“1”,得到新的二进制字符串“1010010010””,转换为十进制后,得到第三字符串“658”。
该示例中,在整个加密过程中增加了目标明文的位图转换(如将目标明文中的英文字母标记为1,其它字符标记为0)、进制转换的步骤,不仅增加了加密过程的复杂度,也提高密文的破译难度,同样也提高了数据的安全性。
步骤S340.组合所述第一字符串、所述第二字符串和所述第三字符串,得到第一进制字符串。
本公开示例实施方式中,对于目标明文“A1+B2/C3*”:①可以通过分解该目标明文得到“ABC”、“123”、“+/*”三种类型的第一字符串:②可以对第一字符串“ABC”转换为ASCII码时减去随机数38,得到第二字符串“272829”;③可以对第一字符串“+/*”进行字符映射,得到第二字符串“789”;④可以将该目标明文中的英文字母进行位图转换,得到第三字符串“804”;⑤可以将该目标明文中的阿拉伯数字进行位图转换,得到第三字符串“658”。可以将①-⑤中生成的一种或多种字符串按照预设顺序进行组合,得到第一进制字符串,本公开对第一进制字符串的具体组成和组合顺序均不做具体限定,用户可以根据实际需求选择对应的组合方式,灵活地生成简单或是复杂的第一进制字符串。例如,第一进制字符串可以是“272829789804”,也可以是“804658272829123789”,本公开对此不做限定。
一种示例实施方式中,为了进一步提高密文破译的难度,可以获取一个加密系统生成的第二随机数,并按照预设顺序将目标类型的第一字符串、将各种类型的第一字符串转换得到的多个第二字符串、第三字符串和第二随机数进行组合,得到第一进制字符串。
示例性的,对于目标明文“A1+B2/C3*”,为了便于进制转化,选取的目标类型的第一字符串可以为阿拉伯数字类型的第一字符串“123”,将各种类型的第一字符串转换得到的多个第二字符串依次为“272829”和“789”,英文字母位图转换和阿拉伯数字位图转换对应的第三字符串为“804”和“658”,加密系统生成的第二随机数为“456”。用户可以自定义预设顺序,以按照该预设顺序将阿拉伯数字类型的字符串“123”、ASCII码“272829”、特殊字符映射字符串“789”、英文字母位图转换字符串“804”、阿拉伯数字位图转换字符串“658”和第二随机数“456”组合成第一进制字符串,例如,第一进制字符串可以是“456804658272829123789”。
在步骤S220中,根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。
一种示例实施方式中,用户随机生成的进制转换密钥可以为预设长度的进制转换密钥,对应的目标属性可以为密钥长度。示例性的,可以根据预设长度的进制转换密钥将第一进制字符串转换为目标长度的第二进制字符串,并将第二进制字符串作为第一密文。其中,用户可以自定义进制转换密钥的长度,从而控制生成的第二进制字符串的目标长度。
举例而言,生成的第一进制字符串为“456804658272829123789”时,可以生成一个预设长度大于20个字符的进制转换密钥,如“QGZVCXE012BDF345GHJ6K7L8M9NPSRUAWY”,以生成一个目标长度小于15个字符的第二进制字符串“ZMHBLY5VA1CEF4”。该示例中,第一进制字符串为10进制字符串,第二进制字符串为34进制字符串。可以理解的是,本公开对具体的进制转化不做限定,即可以将第一进制字符串转化为任意进制的第二进制字符串。
该示例中,第一进制字符串是一个大整数,对应的进制转换过程较为复杂。因此,为了便于解释利用进制转换密钥将第一进制字符串转换为第二进制字符串的过程,可以以第一进制字符串“7896”为例进行说明,进制转换密钥仍为“QGZVCXE012BDF345GHJ6K7L8M9NPSRUAWY”。具体地,参考图6所示,可以根据步骤S601至步骤S608利用进制转换密钥将第一进制字符串“7896”转换为34进制的第二进制字符串。
步骤S601.定义一个字符拼接器;
步骤S602.判断m>34-1:若m>34-1,执行步骤S603,若m<34-1,则执行步骤S606。m=7896时,满足m>34-1,则执行步骤S603;
步骤S603.计算m/34;
步骤S604.选取进制转换密钥中与余数对应的字符:m=7896时,m/34的余数为8,对应的,选取进制转换密钥中的第8个字符。需要注意的是,由于余数可能为0,所以可以从0开始计数,因此进制转换密钥“QGZVCXE012BDF345GHJ6K7L8M9NPSRUAWY”中的第8个字符为“1”;另外,计算得到m/34的商后,可以将m赋值为m/34的商,并重复执行步骤S602至步骤S604,直至m<34-1;
步骤S605.将该字符放入字符拼接器中:将字符“1”放入字符拼接器中,类似的,可以将每次重复步骤S602至步骤S604时从进制转换密钥选取的与余数对应的字符均放入字符拼接器中。
例如,m/34的商为232,通过步骤S602判断232满足m>34-1,则根据步骤S603可以计算m/34。m=232时,m/34的余数为28,通过步骤S604选取进制转换密钥中的第28个字符为“S”,将字符“S”放入字符拼接器中,此时,字符拼接器中的值为“1S”。然后,可以将m赋值为m/34的商,有m=6,通过步骤S602判断6不满足m>34-1,则执行步骤S606;
步骤S606.选取进制转换密钥中与m/34的最后一次运算结果对应的字符:由步骤S605可知,最后一次运算结果为6,选取进制转换密钥中的第6个字符为“E”,并将字符为“E”放入字符拼接器中,字符拼接器中的值更新为“1SE”;
步骤S607.反转字符拼接器中的内容:将字符拼接器中内容“1SE”反转为“ES1”,即字符串“ES1”是利用进制转换密钥“QGZVCXE012BDF345GHJ6K7L8M9NPSRUAWY”对第一进制字符串“7896”转换为34进制的第二进制字符串。
相关技术中利用对称加密算法加密得到的密文长度往往较长,通过该示例可以看出,本公开示例实施方式中利用预设长度的进制转换密钥控制密文长度,如使得加密生成的密文(如“ES1”)的长度小于第一进制字符串的长度,从而将本公开的数据加密方法应用于对加密的密文长度有一定要求的应用场景中。
另一种示例实施方式中,用户随机生成的进制转换密钥可以为包含预设内容的进制转换密钥,对应的目标属性可以为密钥内容。示例性的,可以根据包含预设内容的进制转换密钥将第一进制字符串转换为包含目标内容的第三进制字符串,并将第三进制字符串作为第二密文。
示例性的,若第三进制字符串包含的目标内容为除大写英文字母“I”和“O”外的任意大写英文字母和阿拉伯数字,对应的,包含预设内容的进制转换密钥可以是用户自定义的除大写英文字母“I”和“O”外的多个字符。举例而言,不包含大写英文字母“I”和“O”的进制转换密钥可以是“ASDFGHJKLQWERTYUPZXCVBNM1234567890”。利用包含预设内容的进制转换密钥将第一进制字符串转换为第三进制字符串的过程与步骤S601至步骤S608类似,此处将不再赘述。需要说明的是,也可以根据用户需求生成包含预设内容和预设长度的进制转换密钥,以同时实现对密文内容和密文长度的控制,进而提高用户的使用体验。
又一种示例实施方式中,还可以计算目标明文的长度,将目标明文的长度转换为第四进制字符串,并将第四进制字符串添加至第二进制字符串或第三进制字符串中的目标位置处以得到第三密文。例如,对于目标明文“A1+B2/C3*”,该目标明文的长度为9,可以将9转换为第四进制字符串,如转换为64进制表示“C”。然后,可以将字符“C”添加至第二进制字符串或第三进制字符串中的目标位置处以得到第三密文。举例而言,可以将“C”添加至第二进制字符串“ZMHBLY5VA1CEF4”中,如目标位置为第二进制字符串的第三个字符后,则第三密文为“ZMHC BLY5VA1CEF4”。目标位置可以是第二进制字符串或第三进制字符串的任意位置处,本公开对此不做具体限定。
该示例中利用明文长度生成的密文对中间密文进行移位处理,提高了密文的破译难度。而且,由于整个加密过程经过位图转换、进制转换、字符映射、移位处理等多个加密步骤,密文的破译难度较高,此时,将明文长度生成的密文作为最终密文的一部分,便于在解密过程利用该部分密文确定明文长度,同时还可以利用该部分密文进行位图逆转换等解密操作。因此,将明文长度生成的密文作为最终密文的一部分既可以提高密文的破译难度,还可以保证解密过程的实现。
一种具体示例实施方式中,目标明文为“A1+B2/C3*”,参考图7所示,可以根据步骤S701至步骤S706对该目标明文进行数据加密:
步骤S701.将“A1+B2/C3*”分解为“ABC”、“123”、“+/*”;
步骤S702.将“123”进行位图转换,得到二进制表示“010010010”:具体地,将“A1+B2/C3*”中的每个字符按照“若字符是阿拉伯数字则标记为1,若字符不是阿拉伯数字则标记0”的规则将“A1+B2/C3*”转换为二进制表示“010010010”。为了防止首位为0,在二进制表示“010010010”前面拼接一个‘1’,得到新的二进制表示“1010010010”,并将二进制表示“1010010010”转换成十进制表示658;
步骤S703.将“ABC”进行位图转换,得到二进制字符串“100100100”:具体地,将“A1+B2/C3*”中的每个字符按照“若字符是英文字母则标记为1,若字符不是英文字母则标记0”的规则将“A1+B2/C3*”转换为二进制表示“100100100”。为了防止首位为0,在二进制表示“100100100”前面拼接一个‘1’,得到新的二进制表示“1100100100”,并将二进制表示“1100100100”转换成十进制表示804;
步骤S704.将“ABC”转换为ASCII码“656667”,并将ASCII码“656667”按位减去随机数38,得到ASCII码“272829”;
步骤S705.将“+/*”通过字符映射得到“789”;
步骤S706.由加密系统生成一个首位不为0的三位随机数,如“456”,按照如下顺序:A.随机数“456”;B:英文字母位图转换字符串“804”;C:阿拉伯数字位图转换字符串“658”;D:ASCII码整数“272829”;E:目标明文中的阿拉伯数字类型的字符串“123”;G:特殊字符映射字符串“789”进行拼接,得到一个大整数“456804658272829123789”;
步骤S707.对大整数“456804658272829123789”,根据用户输入的进制转换根密钥进行任意进制转换,如将10进制转换成34进制,为“ZMHBLY5VA1CEF4”;
步骤S708.将加密明文长度得到的密文C插入“ZMHBLY5VA1CEF4”中,如插入“ZMHBLY5VA1CEF4”中的第三个字符之后,得到最终的密文“ZMHCBLY5VA1CEF4”。
该示例实施方式中,进制转换密钥和ASCII码转换时减去的数字都具有随机性,整个加密过程经过位图转换、进制转换、字符映射等多个步骤,而且对中间产生的密文进行了移位处理,使得最终生成的密文很难被破译。
对应于图7所示的数据加密过程,参考图8所示,可以根据步骤S801至步骤S809可以对最终生成的密文进行解密得到目标明文。具体地:
步骤S801.将密文“ZMHCBLY5VA1CEF4”分解为密文“ZMHBLY5VA1CEF4”和密文“C”;
步骤S802.对密文“C”进行逆64进制转换得到字符“9”;
步骤S803.根据用户输入的进制转换根密钥将密文“ZMHBLY5VA1CEF4”进行逆进制转换,得到大整数“456804658272829123789”;
步骤S804.将位于大整数“456804658272829123789”头部的三位随机数去掉,得到字符串“804658272829123789”;
步骤S805.根据步骤S802得到的字符9和步骤S804得到的字符串“804658272829123789”,计算两个位图和部分明文,分别为“804”、“658”、“272829123789”;
步骤S806.将步骤S805得到的位图“804”转换成二进制表示,得到英文字母位图“1100100100”,将位图“658”转换成二进制表示,得到阿拉伯数字位图“1010010010”;
步骤S807.去掉两个位图的首位“1”,得到英文字母位图“100100100”和阿拉伯数字位图“010010010”;
步骤S808.根据英文字母位图“100100100”、阿拉伯数字位图“010010010”以及步骤S805得到的明文内容“272829123789”,计算得到明文内容“272829”和明文内容“123”以及明文内容“789”;
步骤S809.对于明文内容“272829”,根据用户提供的“ASCII码转换减去的数字”,按位进行逆ASCII转换得到字符串“ABC”,对于明文内容“789”,根据预设的特殊字符映射表,按位进行逆映射操作得到字符串“+/*”,根据字符串“ABC”、字符串“+/*、步骤S807得到的英文字母位图“100100100”、阿拉伯数字位图“010010010”以及步骤S808得到的密文内容“123”计算得到最终的明文“A1+B2/C3”。
该示例中的数据解密过程为如图7所示的数据加密过程的逆过程,对应的,由于进制转换密钥和ASCII码转换时减去的数字都具有随机性,整个加密过程又经过位图转换、进制转换、字符映射等多个步骤,而且对中间产生的密文进行了移位处理,使得密文的破解难度较高。重要的是,进制转换密钥是用户自定义生成的,其他破译者不易获取进制转换密钥,也就无法解密得到目标明文。
在一种具体应用场景中,可以将本公开示例实施方式中的数据加密方法应用于拼接屏防伪系统中。示例性的,可以利用本公开所述的数据加密方法将各个拼接屏的SN(Serial Number,产品序列号)码加密成密文,以在出厂销售时将该密文以图片的形式向查验人员进行展示,查验人员可以利用移动终端如智能手机扫描该图片。具体地,可以以图片作为参数调用拼接屏防伪系统的接口,后台接收到图片参数后,通过调用OCR识别程序识别出图片中的密文,再对该密文进行解密,得到对应的SN码。最后,将解密得到的SN码与数据库中存储的各个拼接屏的SN码进行比对,判断该SN码是否存储于数据库中,若存在则返回对应的拼接屏,若不存在则表示该产品为假冒伪劣产品。
由于密文是在屏端显示,而且需要将密文以图片的形式提供给手机摄像头扫描,因此供密文展示的区域较小,对应的需要控制密文的长度。同时,密文需要以图片的形式传到OCR识别系统进行识别,因此密文的内容需要易于区分,对应的需要控制密文的内容。例如,密文中不同时包含阿拉伯数字1、英文小写字母l和英文大写字母I,从而避免识别出现错误。本公开提供了一种高度定制化的数据加密方法,可以针对不同的应用场景设置不同的加密策略,从而使得该数据加密算法可以应用在更多场景中。
在本公开示例实施方式所提供的数据加密方法中,通过获取用户随机生成的进制转换密钥;根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。本公开可以实现对称加密算法中密文的控制,使得对称加密算法可以灵活地应用于更多场景中。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种数据加密装置。参考图9所示,该数据加密装置900可以包括密钥获取模块910和数据加密模块920,其中:
密钥获取模块910,用于获取用户随机生成的进制转换密钥;
数据加密模块920,用于根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。
在一种可选的实施方式中,数据加密装置900还包括:
明文分解模块,用于将所述目标明文分解为多种类型的第一字符串;
第一编码模块,用于利用预设的编码方式将对应类型的第一字符串转换为第二字符串;
第二编码模块,用于按照预设的进制转换顺序将所述目标明文转换为第三字符串;
字符串组合模块,用于组合所述第一字符串、所述第二字符串和所述第三字符串,得到第一进制字符串。
在一种可选的实施方式中,所述进制转换密钥为预设长度的进制转换密钥,所述目标属性包括密钥长度;数据加密模块920被配置为用于根据所述预设长度的进制转换密钥将所述第一进制字符串转换为目标长度的第二进制字符串,并将所述第二进制字符串作为第一密文。
在一种可选的实施方式中,所述进制转换密钥为包含预设内容的进制转换密钥,所述目标属性包括密钥内容;数据加密模块920被配置为用于根据所述包含预设内容的进制转换密钥将所述第一进制字符串转换为包含目标内容的所述第三进制字符串,并将所述第三进制字符串作为第二密文。
在一种可选的实施方式中,数据加密模块920还包括:
第三编码模块,用于计算所述目标明文的长度,并将所述目标明文的长度转换为第四进制字符串;
字符移位模块,用于将所述第四进制字符串添加至所述第二进制字符串或所述第三进制字符串中的目标位置处以得到第三密文。
在一种可选的实施方式中,所述第一字符串的类型为第一类型;第一编码模块包括:
第一编码子模块,用于根据预设的第一字符映射表对所述第一类型的第一字符串中的各个字符进行编码,得到多个第一编码值;
字符转化子模块,用于获取用户生成的第一随机数,并根据各所述第一编码值与所述第一随机数计算得到所述第二字符串。
在一种可选的实施方式中,所述第一字符串的类型为第二类型;第一编码模块还被配置为用于根据预设的第二字符映射表对所述第二类型的第一字符串中的各个字符进行编码,得到多个第二编码值;将所述多个第二编码值进行拼接,得到所述第二字符串。
在一种可选的实施方式中,第二编码模块包括:
第二编码子模块,用于遍历所述目标明文中的各个字符,并将所述目标明文中符合目标类型的字符转换为第三编码值,将除所述目标类型的字符外的其它字符转换为第四编码值;
编码值组合模块,用于基于所述目标明文中的各个字符的位置,由所述第三编码值和所述第四编码值组成中间进制字符串;
进制转换子模块,用于将所述中间进制字符串转换为目标进制的所述第三字符串。
在一种可选的实施方式中,字符串组合模块包括:
随机数获取子模块,用于获取加密系统生成的第二随机数;
字符串组合子模块,用于按照预设顺序将目标类型的所述第一字符串、将各种类型的所述第一字符串转换得到的多个所述第二字符串、所述第三字符串和所述第二随机数进行组合,得到所述第一进制字符串。
上述数据加密装置中各模块的具体细节已经在对应的数据加密方法中进行了详细的描述,因此此处不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图10来描述根据本公开的这种示例性实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图10所示,电子设备1000可以以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:至少一个处理单元1010、至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030和显示单元1040,其中,显示单元1040可以是扫描显示设备,也可以是包含显示屏的其它电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等。
存储单元1020存储有程序代码,程序代码可以被处理单元1010执行,使得处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元1010可以执行图2至图8中任意一个或多个方法步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(ROM)1023。
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图10中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些实施例中,可以由电子设备的处理单元1010执行本公开中所述的数据加密方法。示例性的,可以通过输入接口1050输入用户随机生成的进制转换密钥和第一随机数等。例如,通过电子设备的用户交互界面输入用户随机生成的进制转换密钥和第一随机数等等。对应的,可以通过输出接口1050将加密得到的密文输出至外部设备1100以供用户查看。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种数据加密方法,其特征在于,包括:
获取用户随机生成的进制转换密钥;
根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。
2.根据权利要求1所述的数据加密方法,其特征在于,根据所述进制转换密钥对目标明文进行加密之前,所述方法还包括:
将所述目标明文分解为多种类型的第一字符串;
利用预设的编码方式将对应类型的第一字符串转换为第二字符串;
按照预设的进制转换顺序将所述目标明文转换为第三字符串;
组合所述第一字符串、所述第二字符串和所述第三字符串,得到第一进制字符串。
3.根据权利要求2所述的数据加密方法,其特征在于,所述进制转换密钥为预设长度的进制转换密钥,所述目标属性包括密钥长度;
所述根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文,包括:
根据所述预设长度的进制转换密钥将所述第一进制字符串转换为目标长度的第二进制字符串,并将所述第二进制字符串作为第一密文。
4.根据权利要求2所述的数据加密方法,其特征在于,所述进制转换密钥为包含预设内容的进制转换密钥,所述目标属性包括密钥内容;
所述根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文,包括:
根据所述包含预设内容的进制转换密钥将所述第一进制字符串转换为包含目标内容的所述第三进制字符串,并将所述第三进制字符串作为第二密文。
5.根据权利要求3-4任一项所述的数据加密方法,其特征在于,所述方法还包括:
计算所述目标明文的长度,并将所述目标明文的长度转换为第四进制字符串;
将所述第四进制字符串添加至所述第二进制字符串或所述第三进制字符串中的目标位置处以得到第三密文。
6.根据权利要求2所述的数据加密方法,其特征在于,所述第一字符串的类型为第一类型;所述利用预设的编码方式将对应类型的第一字符串转换为第二字符串,包括:
根据预设的第一字符映射表对所述第一类型的第一字符串中的各个字符进行编码,得到多个第一编码值;
获取用户生成的第一随机数,并根据各所述第一编码值与所述第一随机数计算得到所述第二字符串。
7.根据权利要求2所述的数据加密方法,其特征在于,所述第一字符串的类型为第二类型;所述利用预设的编码方式将对应类型的第一字符串转换为第二字符串,包括:
根据预设的第二字符映射表对所述第二类型的第一字符串中的各个字符进行编码,得到多个第二编码值;
将所述多个第二编码值进行拼接,得到所述第二字符串。
8.根据权利要求2所述的数据加密方法,其特征在于,所述按照预设的进制转换顺序将所述目标明文转换为第三字符串,包括:
遍历所述目标明文中的各个字符,并将所述目标明文中符合目标类型的字符转换为第三编码值,将除所述目标类型的字符外的其它字符转换为第四编码值;
基于所述目标明文中的各个字符的位置,由所述第三编码值和所述第四编码值组成中间进制字符串;
将所述中间进制字符串转换为目标进制的所述第三字符串。
9.根据权利要求2所述的数据加密方法,其特征在于,所述组合所述第一字符串、所述第二字符串和所述第三字符串,得到第一进制字符串,包括:
获取加密系统生成的第二随机数;
按照预设顺序将目标类型的所述第一字符串、将各种类型的所述第一字符串转换得到的多个所述第二字符串、所述第三字符串和所述第二随机数进行组合,得到所述第一进制字符串。
10.一种数据加密装置,其特征在于,包括:
密钥获取模块,用于获取用户随机生成的进制转换密钥;
数据加密模块,用于根据所述进制转换密钥对目标明文进行加密,得到与所述进制转换密钥的目标属性对应的密文。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理单元执行时实现权利要求1-9任一项所述的方法。
12.一种电子设备,其特征在于,包括:
处理单元;
显示单元;以及
存储单元,用于存储所述处理单元的可执行指令;
其中,所述处理单元配置为经由执行所述可执行指令来执行权利要求1-9任一项所述的方法;所述显示单元用于显示执行权利要求1-9任一项所述的方法后生成的密文。
CN202211190638.7A 2022-09-28 2022-09-28 数据加密方法、装置、存储介质及电子设备 Pending CN115550030A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211190638.7A CN115550030A (zh) 2022-09-28 2022-09-28 数据加密方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211190638.7A CN115550030A (zh) 2022-09-28 2022-09-28 数据加密方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN115550030A true CN115550030A (zh) 2022-12-30

Family

ID=84730371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211190638.7A Pending CN115550030A (zh) 2022-09-28 2022-09-28 数据加密方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115550030A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473540A (zh) * 2023-12-28 2024-01-30 北京天健源达科技股份有限公司 文件字符加密方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473540A (zh) * 2023-12-28 2024-01-30 北京天健源达科技股份有限公司 文件字符加密方法和装置

Similar Documents

Publication Publication Date Title
Abdullah et al. New approaches to encrypt and decrypt data in image using cryptography and steganography algorithm
CN103543980B (zh) 数字数据处理的方法及装置
CN108416223B (zh) 一种基于混沌理论的信息标签加密方法及其系统
US9565193B2 (en) Utilization of multiple keypads for password inputs
CN111191255A (zh) 信息加密处理的方法、服务器、终端、设备以及存储介质
CN111222611B (zh) 一种基于颜色的堆叠式三维码编码方法、编码装置、解码方法、解码装置以及存储介质
CN115550030A (zh) 数据加密方法、装置、存储介质及电子设备
CN110704875A (zh) 客户敏感信息的处理方法、装置、系统、介质及电子设备
AU2018100155A4 (en) Method and system for secure encryption
US20160012617A1 (en) Apparatus and method for providing feedback on input data
CN112399027B (zh) 图片加解密方法及装置、存储介质及电子设备
Gaur et al. A new PDAC (parallel encryption with digit arithmetic of cover text) based text steganography approach for cloud data security
CN112529974A (zh) 一种二值图像的彩色视觉密码共享方法和装置
CN111242259B (zh) 一种智能防伪码的编码和解码方法及系统
Ivasenko et al. Information Transmission Protection Using Linguistic Steganography With Arithmetic Encoding And Decoding Approach
Gencoglu Embedded image coding using laplace transform for Turkish letters
CN107533617B (zh) 服务器装置、信息管理系统、信息管理方法以及计算机程序
CN114900287A (zh) 基于路网的加密方法、装置、设备及存储介质
CN111931205A (zh) 一种加密着色器文件的方法和装置
Inan Analyzing the Classic Caesar Method Cryptography
Al-Jarrah et al. Word-based encryption algorithm using dictionary indexing with variable encryption key length
CN110515575B (zh) 用于对一个子网内的计算机进行交互的装置和方法
CN116915922B (zh) 图像的传输方法及装置、电子设备和存储介质
CN116844174A (zh) 一种手写字符识别系统、方法、设备和存储介质
CN114928437A (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