CN112202729A - 动态混淆加密、解密方法及装置 - Google Patents

动态混淆加密、解密方法及装置 Download PDF

Info

Publication number
CN112202729A
CN112202729A CN202010955862.5A CN202010955862A CN112202729A CN 112202729 A CN112202729 A CN 112202729A CN 202010955862 A CN202010955862 A CN 202010955862A CN 112202729 A CN112202729 A CN 112202729A
Authority
CN
China
Prior art keywords
character
digital
alphabetic
extraction algorithm
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.)
Granted
Application number
CN202010955862.5A
Other languages
English (en)
Other versions
CN112202729B (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.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China 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 Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN202010955862.5A priority Critical patent/CN112202729B/zh
Publication of CN112202729A publication Critical patent/CN112202729A/zh
Application granted granted Critical
Publication of CN112202729B publication Critical patent/CN112202729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • H04K1/02Secret communication by adding a second signal to make the desired signal unintelligible
    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Abstract

本发明涉及信息安全技术领域,具体涉及动态混淆加密、解密方法及装置,所述方法包括:对原始数据采用加密算法进行加密得到加密数据,对加密数据采用编码方式进行编码得到编码字符串;基于编码字符串的长度,使用预设的字母提取算法确定所述编码字符串对应的字母字符、以及使用预设的数字提取算法确定所述编码字符串对应的数字字符;遍历编码字符串中的每一个字符,将编码字符串中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将编码字符串中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到动态混淆后的密文数据。本发明能够在不额外占用存储空间的条件下,降低生成密文被破解的风险。

Description

动态混淆加密、解密方法及装置
技术领域
本发明涉及信息安全技术领域,具体涉及动态混淆加密、解密方法及装置。
背景技术
现有技术中对手机号、身份证号、密码等敏感数据需要加密存储,通过加密可以尽可能的防止数据被破解。
如果某一天由于计算机算量的突破可能会让现有的加密算法被暴力破解,或者如果现有的加密算法秘钥泄露也会导致整个数据被解密。另外由于现有的加密算法慢慢被越来越多的人熟知,所以越来越容易被解码。
为了防止现有加密算法被破解,会在加密过程中加入动态盐值(salt值),但是动态盐值需要被额外存储,会占用存储空间。
发明内容
本发明要解决的技术问题在于,克服现有的技术的不足,提供动态混淆加密、解密方法及装置,能够在不额外占用存储空间的条件下,降低生成密文被破解的风险。
为达到上述技术目的,第一方面,本发明提供的动态混淆加密方法,包括:
对原始数据采用加密算法进行加密得到加密数据,对加密数据采用编码方式进行编码得到编码字符串;
基于编码字符串的长度,使用预设的字母提取算法确定所述编码字符串对应的字母字符、以及使用预设的数字提取算法确定所述编码字符串对应的数字字符;
遍历编码字符串中的每一个字符,将编码字符串中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将编码字符串中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到动态混淆后的密文数据。
第二方面,本发明提供的基于所述动态混淆加密装置的动态混淆解密方法,包括:
基于密文数据的长度,使用预设的字母提取算法确定所述密文数据对应的字母字符,以及使用预设的数字提取算法确定所述密文数据对应的数字字符;
遍历密文数据中的每一个字符,将密文数据中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将密文数据中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到编码字符串;
对编码字符串采用与所述编码方式相对应的解码方式进行解码得到加密数据,对加密数据采用与所述加密算法相对应的解密算法进行解密得到原始数据。
第三方面,本发明提供的动态混淆加密装置,包括:
原始加密单元,用于对原始数据采用加密算法进行加密得到加密数据,对加密数据采用编码方式进行编码得到编码字符串;
第一字符提取单元,用于基于编码字符串的长度,使用预设的字母提取算法确定所述编码字符串对应的字母字符、以及使用预设的数字提取算法确定所述编码字符串对应的数字字符;
混淆加密单元,用于遍历编码字符串中的每一个字符,将编码字符串中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将编码字符串中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到动态混淆后的密文数据。
第四方面,基于所述动态混淆加密装置的动态混淆解密装置,包括:
第二字符提取单元,用于基于密文数据的长度,使用预设的字母提取算法确定所述密文数据对应的字母字符,以及使用预设的数字提取算法确定所述密文数据对应的数字字符;
混淆解密单元,用于遍历密文数据中的每一个字符,将密文数据中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将密文数据中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到编码字符串;
原始解密单元,用于对编码字符串采用与所述编码方式相对应的解码方式进行解码得到加密数据,对加密数据采用与所述加密算法相对应的解密算法进行解密得到原始数据。
在本发明中,针对原始数据,在加密算法和编码方式的基础上,计算字母字符和数字字符,然后在编码字符串中遍历查询字母字符和数字字符进行交换,形成双重加密过程,从而使得原始数据的加密结果不易被破解。而且,本发明针对的是密文数据原始字符的替换,因此无需存储另外的数据,不会占用存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的加密方法流程示意图;
图2为本发明实施例的解密方法流程示意图;
图3为本发明实施例的加密装置结构示意图;
图4为本发明实施例的解密装置结构示意图;
图5为本发明实施例一的加密流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明所述的动态混淆加密方法,包括:
101、对原始数据采用加密算法进行加密得到加密数据,对加密数据采用编码方式进行编码得到编码字符串;
102、基于编码字符串的长度,使用预设的字母提取算法确定所述编码字符串对应的字母字符、以及使用预设的数字提取算法确定所述编码字符串对应的数字字符;
103、遍历编码字符串中的每一个字符,将编码字符串中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将编码字符串中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到动态混淆后的密文数据。
在本实施例中,针对原始数据,在加密算法和编码方式的基础上,计算字母字符和数字字符,然后在编码字符串中遍历查询字母字符和数字字符进行交换,形成双重加密过程,从而使得原始数据的加密结果不易被破解。而且,本实施例中针对的是密文数据原始字符的替换,因此无需存储另外的数据,不会占用存储空间。
进一步地,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述基于编码字符串的长度使用预设的字母提取算法确定所述编码字符串对应的字母字符,具体包括:
1021、确定编码字符串的长度数据;
1022、将长度数据与字母基数进行取余运算,得到第一数值;
1023、将所述第一数值对应的字母字符作为所述编码字符串对应的字母字符;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述基于编码字符串的长度使用预设的数字提取算法确定所述编码字符串对应的数字字符,具体包括:
1024、确定编码字符串的长度数据;
1025、将长度数据与数字基数进行取余运算,得到第二数值;
1026、将所述第二数值对应的数字字符作为所述编码字符串对应的数字字符。
更进一步地,所述加密算法包括AES对称加密算法,所述编码方式包括BASE64编码方式。
如图2所示,本发明所述的基于所述动态混淆加密装置的动态混淆解密方法,包括:
201、基于密文数据的长度,使用预设的字母提取算法确定所述密文数据对应的字母字符,以及使用预设的数字提取算法确定所述密文数据对应的数字字符;
202、遍历密文数据中的每一个字符,将密文数据中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将密文数据中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到编码字符串;
203、对编码字符串采用与所述编码方式相对应的解码方式进行解码得到加密数据,对加密数据采用与所述加密算法相对应的解密算法进行解密得到原始数据。
进一步得,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述基于密文数据的长度使用预设的字母提取算法确定所述密文数据对应的字母字符,具体包括:
2011、确定密文数据的长度数据;
2012、将长度数据与字母基数进行取余运算,得到第三数值;
2013、将所述第三数值对应的字母字符作为所述密文数据对应的字母字符;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述基于密文数据的长度使用预设的数字提取算法确定所述密文数据对应的数字字符,具体包括:
2014、确定密文数据的长度数据;
2015、将长度数据与数字基数进行取余运算,得到第四数值;
2016、将所述第四数值对应的数字字符作为所述密文数据对应的数字字符。
更进一步地,所述解密算法包括AES对称解密算法,所述解码方式包括BASE64解码方式。
如图3所示,本发明所述的动态混淆加密装置,包括:
原始加密单元31,用于对原始数据采用加密算法进行加密得到加密数据,对加密数据采用编码方式进行编码得到编码字符串;
第一字符提取单元32,用于基于编码字符串的长度,使用预设的字母提取算法确定所述编码字符串对应的字母字符、以及使用预设的数字提取算法确定所述编码字符串对应的数字字符;
混淆加密单元33,用于遍历编码字符串中的每一个字符,将编码字符串中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将编码字符串中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到动态混淆后的密文数据。
进一步地,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述第一字符提取单元32,具体用于:
确定编码字符串的长度数据;
将长度数据与字母基数进行取余运算,得到第一数值;
将所述第一数值对应的字母字符作为所述编码字符串对应的字母字符;
将长度数据与数字基数进行取余运算,得到第二数值;
将所述第二数值对应的数字字符作为所述编码字符串对应的数字字符。
更进一步地,所述加密算法包括AES对称加密算法,所述编码方式包括BASE64编码方式。
如图4所示,本发明所述的基于所述动态混淆加密装置的动态混淆解密装置,包括:
第二字符提取单元41,用于基于密文数据的长度,使用预设的字母提取算法确定所述密文数据对应的字母字符,以及使用预设的数字提取算法确定所述密文数据对应的数字字符;
混淆解密单元42,用于遍历密文数据中的每一个字符,将密文数据中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将密文数据中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到编码字符串;
原始解密单元43,用于对编码字符串采用与所述编码方式相对应的解码方式进行解码得到加密数据,对加密数据采用与所述加密算法相对应的解密算法进行解密得到原始数据。
进一步地,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述第二字符提取单元41,具体用于:
确定密文数据的长度数据;
将长度数据与字母基数进行取余运算,得到第三数值;
将所述第三数值对应的字母字符作为所述密文数据对应的字母字符;
将长度数据与数字基数进行取余运算,得到第四数值;
将所述第四数值对应的数字字符作为所述密文数据对应的数字字符。
更进一步地,所述解密算法包括AES对称解密算法,所述解码方式包括BASE64解码方式。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
实施例一
如图1和5所示,本实施例提供的动态混淆加密方法,包括:
步骤1、对原始数据采用AES对称加密算法进行加密得到加密数据;
步骤2、对加密数据采用BASE64编码方式进行编码得到编码字符串;
在本实施例中,对原始数据进行AES(高级加密标准)对称加密;然后对AES对称加密后的原始数据进行BASE64(基于64个可打印字符来表示二进制数据)编码操作,得到编码字符串。
假设,本实施例中,原始数据经过AES加密和BASE64加密后得到的编码字符串为如下字符串:
“U2FsdGVkl18uan7Y1AGaJZsFgdbwdX4WkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
步骤3、基于编码字符串的长度,使用预设的字母提取算法确定编码字符串的字母字符,以及使用预设的数字提取算法确定编码字符串的数字字符;具体地:
Step1、确定编码字符串的长度数据为64;
将长度数据64与字母基数26进行取余运算,得到第一数值为12;
将所述第一数值12对应的字母字符“l”作为编码字符串的字母字符;
在本实施例中,以小写英文字母表作为预设的字母字符,则字母基数为26,将字母字符a~z与数值0~25建立一一对应关系,a与1对应,b与2对应…以此类推,z与0对应。长度数据64除以字母基数26后余数为12(第一数值);按照对应关系,第一数值12对应的字母字符为l,则编码字符串对应的字母字符l。当然预设的字母字符也可以为大写英文字母表,或任意大小写英文字母混合得到。
Step2、确定编码字符串的长度数据为64;
将长度数据64与数字基数10进行取余运算,得到第二数值4;
将所述第二数值4的数字字符“4”作为编码字符串的数字字符。
在本实施例中,以阿拉伯数字0~9作为预设的数字字符,则数字基数为10,将数字字符0~9与相应数值0~9建立一一对应关系。长度数据64除以数字基数为10后余数为4(第二数值);按照对应关系,第二数值4对应的数字字符也为4,则编码字符串对应的数字字符为4。当然预设的数字字符也可以其他取值,例如0~6、3~9、或者0~9中随机选取的若干不连续数字,等等。
步骤4、遍历编码字符串中的每一个字符,将编码字符串中出现的字母字符替换为通过数字提取算法确定出的数字字符,以及将编码字符串中出现的数字字符替换为通过字母提取算法确定出字母字符,得到动态混淆后的密文数据。
步骤4.1a、若编码字符串的各字符中,既存在字母字符,又存在数字字符;
用“l”,以及“4”去编码字符串的字符串中查找,发现字符串中第9位为“l”,第31位为“4”。
步骤4.2a、则将编码字符串中出现的字母字符替换为通过数字提取算法确定出的数字字符,以及将编码字符串中出现的数字字符替换为通过字母提取算法确定出字母字符。
因此,将第9位为“l”替换为Step2中计算得到的“4”,以及将第31位为“4”替换为Step1中计算得到的“l”,得到替换过动态字符的编码字符串为:
“U2FsdGVk418uan7Y1AGaJZsFgdbwdXlWkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
如果在替换前,编码字符串的各字符中,存在某种字母字符或数字字符有多个,例如有两个“4”时:则将所有“4”都替换成Step1中计算得到的“l”。
或者,同时存在两个“l”时:则将两个“l”全部替换成Step2中计算得到的“4”。
实施例二
步骤1、对原始数据采用AES对称加密算法进行加密得到加密数据;
步骤2、对加密数据采用BASE64编码方式进行编码得到编码字符串;
在本实施例中,对原始数据进行AES(高级加密标准)对称加密;然后对AES对称加密后的原始数据进行BASE64(基于64个可打印字符来表示二进制数据)编码操作,得到编码字符串。
假设,本实施例中,原始数据经过AES加密和BASE64加密后得到的编码字符串为如下字符串:
“U2FsdGVkX18uan7Y1AGaJZsFgdbwdX5WkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
步骤3、基于编码字符串的长度,使用预设的字母提取算法确定编码字符串的字母字符,以及使用预设的数字提取算法确定编码字符串的数字字符;具体地:
Step1、确定编码字符串的长度数据为64;
将长度数据64与字母基数26进行取余运算,得到第一数值为12;
将所述第一数值12对应的字母字符“l”作为编码字符串的字母字符;
在本实施例中,以小写英文字母表作为预设的字母字符,则字母基数为26,将字母字符a~z与数值0~25建立一一对应关系,a与1对应,b与2对应…以此类推,z与0对应。长度数据64除以字母基数26后余数为12(第一数值);按照对应关系,第一数值12对应的字母字符为l,则编码字符串对应的字母字符l。当然预设的字母字符也可以为大写英文字母表,或任意大小写英文字母混合得到。
Step2、确定编码字符串的长度数据为64;
将长度数据64与数字基数10进行取余运算,得到第二数值4;
将所述第二数值4对应的数字字符“4”作为编码字符串的数字字符。
在本实施例中,以阿拉伯数字0~9作为预设的数字字符,则数字基数为10,将数字字符0~9与相应数值0~9建立一一对应关系。长度数据64除以数字基数为10后余数为4(第二数值);按照对应关系,第二数值4对应的数字字符也为4,则编码字符串对应的数字字符为4。当然预设的数字字符也可以其他取值,例如0~6、3~9、或者0~9中随机选取的若干不连续数字,等等。
步骤4、遍历编码字符串中的每一个字符,将编码字符串中出现的字母字符替换为通过数字提取算法确定出的数字字符,以及将编码字符串中出现的数字字符替换为通过字母提取算法确定出字母字符,得到动态混淆后的密文数据;具体地:
步骤4.1b、若编码字符串的各字符中,没有任一字符与字母字符或数字字符相同,则不替换编码字符串中的任一字符;并将编码字符串作为原始数据的密文数据。
用“l”,以及“4”去编码字符串的字符串中查找,发现编码字符串的字符串中不存在“l或4”,那么此时,对编码字符串不进行任何替换操作,则原始数据的密文数据为:
“U2FsdGVkX18uan7Y1AGaJZsFgdbwdX5WkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
实施例三
步骤1、对原始数据采用AES对称加密算法进行加密得到加密数据;
步骤2、对加密数据采用BASE64编码方式进行编码得到编码字符串;
在本实施例中,对原始数据进行AES(高级加密标准)对称加密;然后对AES对称加密后的原始数据进行BASE64(基于64个可打印字符来表示二进制数据)编码操作,得到编码字符串。
假设,本实施例中,原始数据经过AES加密和BASE64加密后得到的编码字符串为如下字符串:
“U2FsdGVkl18uan7Y1AGaJZsFgdbwdX5WkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
步骤3、基于编码字符串的长度,使用预设的字母提取算法确定编码字符串的字母字符,以及使用预设的数字提取算法确定编码字符串的数字字符;具体地:
Step1、确定编码字符串的长度数据为64;
将长度数据64与字母基数26进行取余运算,得到第一数值为12;
将所述第一数值12对应的字母字符“l”作为编码字符串的字母字符;
在本实施例中,以小写英文字母表作为预设的字母字符,则字母基数为26,将字母字符a~z与数值0~25建立一一对应关系,a与1对应,b与2对应…以此类推,z与0对应。长度数据64除以字母基数26后余数为12(第一数值);按照对应关系,第一数值12对应的字母字符为l,则编码字符串对应的字母字符l。当然预设的字母字符也可以为大写英文字母表,或任意大小写英文字母混合得到。
Step2、确定编码字符串的长度数据为64;
将长度数据64与数字基数10进行取余运算,得到第二数值4;
将所述第二数值4的数字字符“4”作为编码字符串的数字字符。
在本实施例中,以阿拉伯数字0~9作为预设的数字字符,则数字基数为10,将数字字符0~9与相应数值0~9建立一一对应关系。长度数据64除以数字基数为10后余数为4(第二数值);按照对应关系,第二数值4对应的数字字符也为4,则编码字符串对应的数字字符为4。当然预设的数字字符也可以其他取值,例如0~6、3~9、或者0~9中随机选取的若干不连续数字,等等。
步骤4、遍历编码字符串中的每一个字符,将编码字符串中出现的字母字符替换为通过数字提取算法确定出的数字字符,以及将编码字符串中出现的数字字符替换为通过字母提取算法确定出字母字符,得到动态混淆后的密文数据;具体地:
步骤4.1c、若编码字符串的各字符中,仅存在字母字符或数字字符;
用“l”,以及“4”去编码字符串中查找,发现编码字符串的字符串中第9位为“l”,不存在“4”。
步骤4.2c、则将编码字符串的字母字符替换为通过数字提取算法确定出的数字字符,或者,将编码字符串的数字字符替换为通过字母提取算法确定出字母字符。
那么将编码字符串中第9位的“l”替换为Step2中计算得到的“4”,得到原始数据的密文数据为:
“U2FsdGVk418uan7Y1AGaJZsFgdbwdX5WkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
在本发明的三个实施例中,选用的字符基数为26,数字基数为10。由于经过BASE64操作后输出的编码字符串是a-z,A-Z,0-9还有两个符号作为基础,所以生成的字符串无外乎字母和数字。a-z是26个字母,0-9是10个数字,所以选用字符基数为26,数字基数为10,这样就方便求余数。
实施例四
如图2所示,本实施例提供的基于所述动态混淆加密方法的动态混淆解密方法,包括:
步骤1、基于密文数据的长度,使用预设的字母提取算法确定密文数据的字母字符,以及使用预设的数字提取算法确定密文数据的数字字符;
假设,本实施例中,密文数据为:
“U2FsdGVk418uan7Y1AGaJZsFgdbwdXlWkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
Step1、确定密文数据的长度数据64;
将长度数据64与字母基数26进行取余运算,得到第三数值为12;
将第三数值12对应的字母字符“l”作为密文数据的字母字符;
在本实施例中,以小写英文字母表作为预设的字母字符,则字母基数为26,将字母字符a~z与数值0~25建立一一对应关系,a与1对应,b与2对应…以此类推,z与0对应。长度数据64除以字母基数26后余数为12(第一数值);按照对应关系,第三数值12对应的字母字符为l,则编码字符串对应的字母字符l。当然预设的字母字符也可以为大写英文字母表,或任意大小写英文字母混合得到。
Step2、确定密文数据的长度数据64;
将长度数据64与数字基数10进行取余运算,得到第四数值4;
将第四数值4对应的数字字符“4”作为密文数据的数字字符。
在本实施例中,以阿拉伯数字0~9作为预设的数字字符,则数字基数为10,将数字字符0~9与相应数值0~9建立一一对应关系。长度数据64除以数字基数为10后余数为4(第二数值);按照对应关系,第四数值4对应的数字字符也为4,则编码字符串对应的数字字符为4。当然预设的数字字符也可以其他取值,例如0~6、3~9、或者0~9中随机选取的若干不连续数字,等等。
步骤2、遍历密文数据中的每一个字符,将密文数据中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将密文数据中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到编码字符串;
步骤2.1a、若密文数据的各字符中,既存在字母字符,又存在数字字符;
用“l”,以及“4”去编码字符串的字符串中查找,发现字符串中第31位为“4”,第9位为“l”。
步骤2.2a、则将密文数据中出现的字母字符替换为通过数字提取算法确定出的数字字符,以及将密文数据中出现的数字字符替换为通过字母提取算法确定出字母字符。
因此,将第9位为“4”替换为Step1中计算得到的“l”,以及将第31位为“l”替换为Step2中计算得到的“4”,得到替换过动态字符的密文数据为:
“U2FsdGVkl18uan7Y1AGaJZsFgdbwdX4WkSNJe+USHUQUhaMXZsG2E1eDfeU6UPMH”。
如果在替换前,编码字符串的各字符中,存在某种字母字符或数字字符有多个,例如有两个“4”时:则将所有“4”都替换成Step1中计算得到的“l”。
或者,同时存在两个“l”时:则将两个“l”全部替换成Step2中计算得到的“4”。
步骤3、利用BASE64解码方式针对密文数据进行解码得到加密数据;
步骤4、加密数据采用AES对称解密算法进行解密得到原始数据。
在本发明的四个实施例中,多次加密、解密的算法能够避免密文被破解的风险;另外,替换过程中,是动态字符之间进行替换,从而无需加入额外的动态盐值,因此,不会额外的占用存储空间。
本实施例对应的为实施例一的解密方法,余下实施例二和实施例三对应的解密方法皆同理可得,在此不再赘述。
本发明实施例提供了动态混淆加密装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
本发明实施例提供了对应动态混淆解密装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种动态混淆加密方法,其特征在于,所述方法包括:
对原始数据采用加密算法进行加密得到加密数据,对加密数据采用编码方式进行编码得到编码字符串;
基于编码字符串的长度,使用预设的字母提取算法确定所述编码字符串对应的字母字符、以及使用预设的数字提取算法确定所述编码字符串对应的数字字符;
遍历编码字符串中的每一个字符,将编码字符串中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将编码字符串中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到动态混淆后的密文数据。
2.根据权利要求1所述的动态混淆加密方法,其特征在于,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述基于编码字符串的长度使用预设的字母提取算法确定所述编码字符串对应的字母字符,具体包括:
确定编码字符串的长度数据;
将长度数据与字母基数进行取余运算,得到第一数值;
将所述第一数值对应的字母字符作为所述编码字符串对应的字母字符;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述基于编码字符串的长度使用预设的数字提取算法确定所述编码字符串对应的数字字符,具体包括:
确定编码字符串的长度数据;
将长度数据与数字基数进行取余运算,得到第二数值;
将所述第二数值对应的数字字符作为所述编码字符串对应的数字字符。
3.根据权利要求1所述的动态混淆加密方法,其特征在于,所述加密算法包括AES对称加密算法,所述编码方式包括BASE64编码方式。
4.一种基于权利要求1所述动态混淆加密方法的动态混淆解密方法,其特征在于,所述方法包括:
基于密文数据的长度,使用预设的字母提取算法确定所述密文数据对应的字母字符,以及使用预设的数字提取算法确定所述密文数据对应的数字字符;
遍历密文数据中的每一个字符,将密文数据中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将密文数据中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到编码字符串;
对编码字符串采用与所述编码方式相对应的解码方式进行解码得到加密数据,对加密数据采用与所述加密算法相对应的解密算法进行解密得到原始数据。
5.根据权利要求4所述的动态混淆解密方法,其特征在于,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述基于密文数据的长度使用预设的字母提取算法确定所述密文数据对应的字母字符,具体包括:
确定密文数据的长度数据;
将长度数据与字母基数进行取余运算,得到第三数值;
将所述第三数值对应的字母字符作为所述密文数据对应的字母字符;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述基于密文数据的长度使用预设的数字提取算法确定所述密文数据对应的数字字符,具体包括:
确定密文数据的长度数据;
将长度数据与数字基数进行取余运算,得到第四数值;
将所述第四数值对应的数字字符作为所述密文数据对应的数字字符。
6.根据权利要求4所述的动态混淆解密方法,其特征在于,所述解密算法包括AES对称解密算法,所述解码方式包括BASE64解码方式。
7.一种动态混淆加密装置,其特征在于,所述装置包括:
原始加密单元,用于对原始数据采用加密算法进行加密得到加密数据,对加密数据采用编码方式进行编码得到编码字符串;
第一字符提取单元,用于基于编码字符串的长度,使用预设的字母提取算法确定所述编码字符串对应的字母字符、以及使用预设的数字提取算法确定所述编码字符串对应的数字字符;
混淆加密单元,用于遍历编码字符串中的每一个字符,将编码字符串中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将编码字符串中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到动态混淆后的密文数据。
8.根据权利要求7所述的动态混淆加密装置,其特征在于,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述第一字符提取单元,具体用于:
确定编码字符串的长度数据;
将长度数据与字母基数进行取余运算,得到第一数值;
将所述第一数值对应的字母字符作为所述编码字符串对应的字母字符;
将长度数据与数字基数进行取余运算,得到第二数值;
将所述第二数值对应的数字字符作为所述编码字符串对应的数字字符。
9.根据权利要求7所述的动态混淆加密装置,其特征在于,所述加密算法包括AES对称加密算法,所述编码方式包括BASE64编码方式。
10.一种基于权利要求7所述动态混淆加密方法的动态混淆解密装置,其特征在于,所述装置包括:
第二字符提取单元,用于基于密文数据的长度,使用预设的字母提取算法确定所述密文数据对应的字母字符,以及使用预设的数字提取算法确定所述密文数据对应的数字字符;
混淆解密单元,用于遍历密文数据中的每一个字符,将密文数据中出现的所述字母字符替换为通过数字提取算法确定出的所述数字字符,以及将密文数据中出现的所述数字字符替换为通过字母提取算法确定出的所述字母字符,得到编码字符串;
原始解密单元,用于对编码字符串采用与所述编码方式相对应的解码方式进行解码得到加密数据,对加密数据采用与所述加密算法相对应的解密算法进行解密得到原始数据。
11.根据权利要求9所述的动态混淆解密装置,其特征在于,所述字母提取算法中预先设定若干不同的字母字符,每一个字母字符对应唯一数值,其中,数值的取值范围大于等于0小于字母基数,所述字母基数为字母提取算法中设定的字母字符的数量;
所述数字提取算法中预先设定多个不同的数字字符,每一个数字字符对应唯一数值,其中,数值的取值范围大于等于0小于数字基数,所述数字基数为数字提取算法中设定的数字字符的数量;
所述第二字符提取单元,具体用于:
确定密文数据的长度数据;
将长度数据与字母基数进行取余运算,得到第三数值;
将所述第三数值对应的字母字符作为所述密文数据对应的字母字符;
将长度数据与数字基数进行取余运算,得到第四数值;
将所述第四数值对应的数字字符作为所述密文数据对应的数字字符。
12.根据权利要求7所述的动态混淆解密装置,其特征在于,所述解密算法包括AES对称解密算法,所述解码方式包括BASE64解码方式。
CN202010955862.5A 2020-09-11 2020-09-11 动态混淆加密、解密方法及装置 Active CN112202729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010955862.5A CN112202729B (zh) 2020-09-11 2020-09-11 动态混淆加密、解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010955862.5A CN112202729B (zh) 2020-09-11 2020-09-11 动态混淆加密、解密方法及装置

Publications (2)

Publication Number Publication Date
CN112202729A true CN112202729A (zh) 2021-01-08
CN112202729B CN112202729B (zh) 2023-04-14

Family

ID=74016359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010955862.5A Active CN112202729B (zh) 2020-09-11 2020-09-11 动态混淆加密、解密方法及装置

Country Status (1)

Country Link
CN (1) CN112202729B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810174A (zh) * 2021-09-16 2021-12-17 金蝶软件(中国)有限公司 一种数据处理方法以及相关设备
CN114254373A (zh) * 2022-03-01 2022-03-29 中国电力科学研究院有限公司 一种加密传输方法、装置和系统
CN116502253A (zh) * 2023-06-29 2023-07-28 北京天健源达科技股份有限公司 电子病历字符加密方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040120521A1 (en) * 2002-10-10 2004-06-24 Henson Kevin M. Method and system for data encryption and decryption
US20060193471A1 (en) * 2003-03-28 2006-08-31 Jean-Luc Stehle Encryption method and system
CN106161006A (zh) * 2015-04-06 2016-11-23 汪风珍 一种数字加密算法
CN106569986A (zh) * 2015-10-12 2017-04-19 北京国双科技有限公司 字符串替换方法和装置
CN108664798A (zh) * 2017-03-31 2018-10-16 北京京东尚科信息技术有限公司 信息加密方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040120521A1 (en) * 2002-10-10 2004-06-24 Henson Kevin M. Method and system for data encryption and decryption
US20060193471A1 (en) * 2003-03-28 2006-08-31 Jean-Luc Stehle Encryption method and system
CN106161006A (zh) * 2015-04-06 2016-11-23 汪风珍 一种数字加密算法
CN106569986A (zh) * 2015-10-12 2017-04-19 北京国双科技有限公司 字符串替换方法和装置
CN108664798A (zh) * 2017-03-31 2018-10-16 北京京东尚科信息技术有限公司 信息加密方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810174A (zh) * 2021-09-16 2021-12-17 金蝶软件(中国)有限公司 一种数据处理方法以及相关设备
CN114254373A (zh) * 2022-03-01 2022-03-29 中国电力科学研究院有限公司 一种加密传输方法、装置和系统
CN114254373B (zh) * 2022-03-01 2022-07-08 中国电力科学研究院有限公司 一种加密传输方法、装置和系统
CN116502253A (zh) * 2023-06-29 2023-07-28 北京天健源达科技股份有限公司 电子病历字符加密方法及装置
CN116502253B (zh) * 2023-06-29 2023-09-22 北京天健源达科技股份有限公司 电子病历字符加密方法及装置

Also Published As

Publication number Publication date
CN112202729B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
CN112202729B (zh) 动态混淆加密、解密方法及装置
CN107609418B (zh) 文本数据的脱敏方法、装置、存储设备以及计算机设备
US20100239087A1 (en) Encrypting variable-length passwords to yield fixed-length encrypted passwords
CN106161006B (zh) 一种数字加密算法
US9208304B2 (en) Method for web service user authentication
CN100576227C (zh) 一种软件加密注册防盗版方法
US9614675B2 (en) Methods, apparatus, and articles of manufacture to encode auxiliary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
CN115865523B (zh) 一种用于信息分析系统的数据加密传输方法
JP6346942B2 (ja) パスワードへの攻撃を阻害すること
CN110084599B (zh) 密钥处理方法、装置、设备和存储介质
CN101685425A (zh) 移动存储设备及实现移动存储设备加密的方法
US10904001B2 (en) Data format-preserving encryption, tokenization, and access control for vaultless systems and methods
CN109981266B (zh) 密钥和敏感信息存储、读取方法及装置
Geetha et al. Tamilian cryptography: an efficient hybrid symmetric key encryption algorithm
US9122852B2 (en) Password input system and method for inputting password
Hamdan et al. AH4S: an algorithm of text in text steganography using the structure of omega network
WO2022042103A1 (zh) 数据保护方法、装置、设备及介质
CN112235101B (zh) 基于混合编码机制的编码方法和装置、解码方法和装置
EP2065830B1 (en) System and method of controlling access to a device
US9203607B2 (en) Keyless challenge and response system
CN104393988A (zh) 一种可逆的数据加密方法及装置
US20200293733A1 (en) Hybrid two-dimensional barcode reader
US20220156449A1 (en) System and method for providing steganographic text encoding
KR101978777B1 (ko) 다양한 암호화 방식을 조합한 암호화 장치 및 방법
EP3924880A1 (en) Hybrid two-dimensional barcode and hybrid two-dimensional barcode generator

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