CN112115496B - 数据解密模式识别方法、装置、计算机设备及存储介质 - Google Patents
数据解密模式识别方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112115496B CN112115496B CN202011033818.5A CN202011033818A CN112115496B CN 112115496 B CN112115496 B CN 112115496B CN 202011033818 A CN202011033818 A CN 202011033818A CN 112115496 B CN112115496 B CN 112115496B
- Authority
- CN
- China
- Prior art keywords
- file
- decryption algorithm
- decryption
- sqlite
- characters
- 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
Links
- 238000012567 pattern recognition method Methods 0.000 title claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 152
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 20
- 238000003909 pattern recognition Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据解密模式识别方法、装置、计算机设备及存储介质,该方法包括获取用户账号和密码;下载数据组块,以组成原始文件;根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据。本发明无需利用多个解密算法进行解密,根据文件特征进行动态识别解密算法,实现确定出适合当前备份的解密算法,既提高性能,又节省磁盘空间。
Description
技术领域
本发明实施例涉及云存储技术领域,更具体地说是指数据解密模式识别方法、装置、计算机设备及存储介质。
背景技术
对于数据存储而言,使用者可以将个人数据上传到云端服务。云端存储的数据由两部分组成:第一部分是文件管理信息,包含文件属性,文件组织信息,文件下载信息等;第二部分是文件内容,文件内容被分割成数据块,采用特定加密算法加密之后,分布式存储于第三方云端上。相关公司并未提供云端服务数据的下载接口。下载云端服务数据一般通过模拟云端服务备份还原协议来实现。除了下载数据,还要使用正确的解密算法,才能得到最终的明文数据,不同版本的终端数据上传到云端服务,采用的加密和解密算法也不同,且没有官方说明相关标准。
对于不同版本的终端数据备份还原过程中,相关技术方案一般采用冗余的方式进行解密,即对一个文件采用所有已知解密算法进行解密,产生多份解密后的文件,由用户进行判断最终所需要的文件。冗余解密算法的性能开销是线性的,数据越多解密越慢,在用户动辄几个GB数据的情况下,非常影响性能,由于一个文件,通过多种解密算法,会产生多份文件,非常占用磁盘空间。
因此,有必要设计一种新的方法,实现确定出适合当前备份的解密算法,既提高性能,又节省磁盘空间。
发明内容
本发明实施例的目的在于克服现有技术的缺陷,提供数据解密模式识别方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:数据解密模式识别方法,包括:
获取用户账号和密码;
下载数据组块,以组成原始文件;
根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;
利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据。
其进一步技术方案为:所述根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法,包括:
根据所述元文件数据的文件属性,从元文件数据内选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件;
对具备文件特征的文件进行解密,以得到第一中间文件;
判断所述第一中间文件的前六个字符是否是SQLite;
若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;
判断所述第二中间文件的前六个字符是否是SQLite;
若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;
若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法。
其进一步技术方案为:所述判断所述第一中间文件的前六个字符是否是SQLite之后,还包括:
若所述第一中间文件的前六个字符是SQLite,则执行所述选择第二解密算法作为当前备份的解密算法。
其进一步技术方案为:所述第一解密算法包括AES CBC解密算法;所述第二解密算法包括AES XTS算法。
其进一步技术方案为:所述对具备文件特征的文件进行解密,以得到第一中间文件,包括:
采用AES XTS解密算法对具备文件特征的文件进行解密,以得到第一中间文件。
其进一步技术方案为:所述获取用户账号和密码之后,还包括:
根据所述用户账号和密码获取云套件服务密钥;
根据所述云套件服务密钥获取云套件相关密钥;
根据所述云套件服务密钥获取元文件数据和文件区块列表;
其中,所述云套件相关密钥包括云套件区域密钥以及云工具包记录密钥。
本发明还提供了数据解密模式识别装置,包括:
账号密码获取单元,用于获取用户账号和密码;
原始文件获取单元,用于下载数据组块,以组成原始文件;
算法确定单元,用于根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;
解密单元,用于利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据。
其进一步技术方案为:所述算法确定单元包括:
选择子单元,用于根据所述元文件数据的文件属性,从元文件数据内选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件;
第一解密子单元,用于对具备文件特征的文件进行解密,以得到第一中间文件;
第一判断子单元,用于判断所述第一中间文件的前六个字符是否是SQLite;若所述第一中间文件的前六个字符是SQLite,则选择第二解密算法作为当前备份的解密算法;
第二解密子单元,用于若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;
第二判断子单元,用于判断所述第二中间文件的前六个字符是否是SQLite;若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明实施例与现有技术相比的有益效果是:本发明通过确定需要备份的原始文件,再根据利用用户账号和密码获取到的云套件相关密钥,结合根据云套件服务密钥确定的元文件数据内的文件特征确定适合该原始文件的解密算法,无需利用多个解密算法进行解密,根据文件特征进行动态识别解密算法,实现确定出适合当前备份的解密算法,既提高性能,又节省磁盘空间。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据解密模式识别方法的应用场景示意图;
图2为本发明实施例提供的数据解密模式识别方法的流程示意图;
图3为本发明实施例提供的数据解密模式识别方法的子流程示意图;
图4为本发明另一实施例提供的解密模式识别方法的流程示意图;
图5为本发明另一实施例提供的数据解密模式识别方法的子流程示意图;
图6为本发明实施例提供的数据解密模式识别装置的示意性框图;
图7为本发明实施例提供的数据解密模式识别装置的解密单元的示意性框图;
图8为本发明另一实施例提供的数据解密模式识别装置的示意性框图;
图9为本发明另一实施例提供的数据解密模式识别装置的相关密钥获取单元的示意性框图;
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的数据解密模式识别方法的应用场景示意图。图2为本发明实施例提供的数据解密模式识别方法的示意性流程图。该数据解密模式识别方法应用于终端。该云存储服务器与终端进行数据交互,从云存储服务器进行下载到数据以及获取到对应的密钥后,根据文件的特征采用对应的解密算法进行解密。
图2是本发明实施例提供的数据解密模式识别方法的流程示意图。如图2所示,该方法包括以下步骤S110至S140。
S110、获取用户账号和密码。
在本实施例中,用户账号是指ID账号,密码是指ID账号对应的密码。
S120、下载数据组块,以组成原始文件。
在本实施例中,数据组块是指根据文件区块列表中相关的位置读取云端数据库内的数据,也就是读取云端存储对应位置的数据块,并按照文件区块列表中的排列顺序组成原始文件。
具体地,是根据文件区块列表下载数据组块,以组成原始文件。
在本实施例中,原始文件是指上传至云端存储进行存储的加密后的数据。
S130、根据所述元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法。
在本实施例中,当前备份的解密算法是指利用文件特征确定的文件解密算法。
由于不同版本的终端采用了不同的加解密算法。而且这些算法是内部保护的,对外不公开。所以常规的方法是采用已知的解密算法,逐一对原始文件进行解密,得到多份解密后的文件,由用户选择最终需要的文件。这个在用户数据量大的情况下,非常耗费时间及占用磁盘空间。在本实施例中,利用所述元文件数据内的文件特征作为参考,通过特定文件格式的文件特征和解密后文件的对比,来确定正确的解密算法,用于解密当次备份的所有文件,既提高性能,又节省磁盘空间。
在一实施例中,请参阅图3,上述的步骤S130可包括步骤S131~S137。
S131、根据所述元文件数据的文件属性,选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件。
在本实施例中,具有文件特征的文件是指后缀名为sqlite或者sqlitedb的文件。
选定具有文件特征的文件作为参考,该文件的前六个特征字符为“SQLite”。提取解密后的文件特征,跟“SQLite”进行比较,文件特征一致,说明解密算法选择对了,后续的文件解密将采用选定的算法。
S132、对具备文件特征的文件进行解密,以得到第一中间文件。
在本实施例中,第一中间文件是指采用默认的AES XTS解密算法对具备文件特征的文件进行解密形成解密文件。
S133、判断所述第一中间文件的前六个字符是否是SQLite;
S134、若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;
S135、判断所述第二中间文件的前六个字符是否是SQLite;
S136、若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;
S137、若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法;
若所述第一中间文件的前六个字符是SQLite,则执行所述步骤S136。
具体地,所述第一解密算法包括AES CBC解密算法;所述第二解密算法包括AESXTS算法。
根据文件特征的不同确定对应的解密算法,不需要利用所有的解密算法分别进行文件的解密,实现确定出适合当前备份的解密算法,既提高性能,又节省磁盘空间。
S140、利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据。
在本实施例中,解密后的数据是指适用于当前iPhone等终端显示的数据。得到该解密后的数据后,会在终端显示解密后的数据。
上述的数据解密模式识别方法,通过确定需要备份的原始文件,再根据利用用户账号和密码获取到的云套件相关密钥,结合根据云套件服务密钥确定的元文件数据内的文件特征确定适合该原始文件的解密算法,无需利用多个解密算法进行解密,根据文件特征进行动态识别解密算法,实现确定出适合当前备份的解密算法,既提高性能,又节省磁盘空间。
图4是本发明另一实施例提供的一种解密模式识别方法的流程示意图。如图4所示,本实施例的解密模式识别方法包括步骤S210-S270。其中步骤S210与上述实施例中的步骤S110类似,步骤S250-S270与上述实施例中的步骤S120-S140类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S220-S240。
S220、根据所述用户账号和密码获取云套件服务密钥。
在本实施例中,云套件服务密钥是指云端数据库的服务密钥,用于获取云端数据库相关数据时验证用户是否有全向的密钥。
S230、根据所述云套件服务密钥获取云套件相关密钥。
在本实施例中,所述云套件相关密钥包括云套件区域密钥以及云工具包记录密钥。具体地,云套件区域密钥是指云端数据库特定区域的密钥,云工具包记录密钥是指云端数据库中每一数据记录的密钥。
在一实施例中,请参阅图5,上述的步骤S230可包括步骤S231~S232。
S231、根据所述云套件服务密钥获取云套件区域密钥;
S232、根据所述云套件服务密钥获取云工具包记录密钥。
当获取到云套件服务密钥、云套件区域密钥以及云工具包记录密钥后,便可准确获取到数据的相关信息。
S240、根据所述云套件服务密钥获取元文件数据和文件区块列表。
在本实施例中,云文件数据是指加密后的存储于云端的数据,文件区块列表是指云文件数据所在的云端数据库的位置形成的列表。
图6是本发明实施例提供的一种数据解密模式识别装置300的示意性框图。如图6所示,对应于以上数据解密模式识别方法,本发明还提供一种数据解密模式识别装置300。该数据解密模式识别装置300包括用于执行上述数据解密模式识别方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图6,该数据解密模式识别装置300包括账号密码获取单元301、算法确定单元306以及解密单元307。
账号密码获取单元301,用于获取用户账号和密码;原始文件获取单元305,用于下载数据组块,以组成原始文件;算法确定单元306,用于根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;解密单元307,用于利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据。
在一实施例中,如图7所示,所述算法确定单元306包括选择子单元3061、第一解密子单元3062、第一判断子单元3063、第二解密子单元3064以及第二判断子单元3065。
选择子单元3061,用于根据所述元文件数据的文件属性,从元文件数据内选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件;第一解密子单元3062,用于对具备文件特征的文件进行解密,以得到第一中间文件;第一判断子单元3063,用于判断所述第一中间文件的前六个字符是否是SQLite;若所述第一中间文件的前六个字符是SQLite,则选择第二解密算法作为当前备份的解密算法。第二解密子单元3064,用于若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;第二判断子单元3065,用于判断所述第二中间文件的前六个字符是否是SQLite;若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法。
图8是本发明另一实施例提供的一种数据解密模式识别装置的示意性框图。如图8所示,本实施例的数据解密模式识别装置是上述实施例的基础上增加了服务密钥获取单元302、相关密钥获取单元303、数据获取单元304以及原始文件获取单元305。
服务密钥获取单元302,用于根据所述用户账号和密码获取云套件服务密钥;相关密钥获取单元303,用于根据所述云套件服务密钥获取云套件相关密钥;数据获取单元304,用于根据所述云套件服务密钥获取元文件数据和文件区块列表;
在一实施例中,如图9所示,所述相关密钥获取单元303包括区域密钥获取子单元3031以及记录密钥获取子单元3032。
区域密钥获取子单元3031,用于根据所述云套件服务密钥获取云套件区域密钥;记录密钥获取子单元3032,用于根据所述云套件服务密钥获取云工具包记录密钥。
上述数据解密模式识别装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种数据解密模式识别方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种数据解密模式识别方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取用户账号和密码;下载数据组块,以组成原始文件;根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据。
在一实施例中,处理器502在实现所述根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法步骤时,具体实现如下步骤:
根据所述元文件数据的文件属性,从元文件数据内选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件;对具备文件特征的文件进行解密,以得到第一中间文件;判断所述第一中间文件的前六个字符是否是SQLite;若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;判断所述第二中间文件的前六个字符是否是SQLite;若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法。
在一实施例中,处理器502在实现所述判断所述第一中间文件的前六个字符是否是SQLite步骤之后,还实现如下步骤:
若所述第一中间文件的前六个字符是SQLite,则执行所述选择第二解密算法作为当前备份的解密算法。
其中,所述第一解密算法包括AES CBC解密算法;所述第二解密算法包括AES XTS算法。
在一实施例中,处理器502在实现所述对具备文件特征的文件进行解密,以得到第一中间文件步骤时,具体实现如下步骤:
采用AES XTS解密算法对具备文件特征的文件进行解密,以得到第一中间文件。
在一实施例中,处理器502在实现所述判断所述获取用户账号和密码步骤之后,还实现如下步骤:
根据所述用户账号和密码获取云套件服务密钥;根据所述云套件服务密钥获取云套件相关密钥;根据所述云套件服务密钥获取元文件数据和文件区块列表。
其中,所述云套件相关密钥包括云套件区域密钥以及云工具包记录密钥。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取用户账号和密码;下载数据组块,以组成原始文件;根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法步骤时,具体实现如下步骤:
根据所述元文件数据的文件属性,从元文件数据内选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件;对具备文件特征的文件进行解密,以得到第一中间文件;判断所述第一中间文件的前六个字符是否是SQLite;若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;判断所述第二中间文件的前六个字符是否是SQLite;若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断所述第一中间文件的前六个字符是否是SQLite步骤之后,还实现如下步骤:
若所述第一中间文件的前六个字符是SQLite,则执行所述选择第二解密算法作为当前备份的解密算法。
其中,所述第一解密算法包括AES CBC解密算法;所述第二解密算法包括AES XTS算法。
在一实施例中,所述处理器在执行所述计算机程序而实现所述对具备文件特征的文件进行解密,以得到第一中间文件步骤时,具体实现如下步骤:
采用AES XTS解密算法对具备文件特征的文件进行解密,以得到第一中间文件。
在一实施例中,所述处理器在执行所述计算机程序而实现所述获取用户账号和密码步骤之后,还实现如下步骤:
根据所述用户账号和密码获取云套件服务密钥;根据所述云套件服务密钥获取云套件相关密钥;根据所述云套件服务密钥获取元文件数据和文件区块列表。
其中,所述云套件相关密钥包括云套件区域密钥以及云工具包记录密钥。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.数据解密模式识别方法,其特征在于,包括:
获取用户账号和密码;
下载数据组块,以组成原始文件;
根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;
利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据;
所述根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法,包括:
根据所述元文件数据的文件属性,从元文件数据内选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件;
对具备文件特征的文件进行解密,以得到第一中间文件;
判断所述第一中间文件的前六个字符是否是SQLite;
若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;
判断所述第二中间文件的前六个字符是否是SQLite;
若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;
若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法。
2.根据权利要求1所述的数据解密模式识别方法,其特征在于,所述判断所述第一中间文件的前六个字符是否是SQLite之后,还包括:
若所述第一中间文件的前六个字符是SQLite,则执行所述选择第二解密算法作为当前备份的解密算法。
3.根据权利要求2所述的数据解密模式识别方法,其特征在于,所述第一解密算法包括AES CBC解密算法;所述第二解密算法包括AES XTS算法。
4.根据权利要求1所述的数据解密模式识别方法,其特征在于,所述对具备文件特征的文件进行解密,以得到第一中间文件,包括:
采用AES XTS解密算法对具备文件特征的文件进行解密,以得到第一中间文件。
5.根据权利要求1所述的数据解密模式识别方法,其特征在于,所述获取用户账号和密码之后,还包括:
根据所述用户账号和密码获取云套件服务密钥;
根据所述云套件服务密钥获取云套件相关密钥;
根据所述云套件服务密钥获取元文件数据和文件区块列表;
其中,所述云套件相关密钥包括云套件区域密钥以及云工具包记录密钥。
6.数据解密模式识别装置,其特征在于,包括:
账号密码获取单元,用于获取用户账号和密码;
原始文件获取单元,用于下载数据组块,以组成原始文件;
算法确定单元,用于根据元文件数据内的文件特征结合云套件相关密钥选择对应的解密算法,以得到当前备份的解密算法;
解密单元,用于利用当前备份的解密算法对所述原始文件进行解密,以得到解密后的数据;
所述算法确定单元包括:
选择子单元,用于根据所述元文件数据的文件属性,从元文件数据内选择一个后缀名为sqlite或者sqlitedb的文件,以得到具备文件特征的文件;
第一解密子单元,用于对具备文件特征的文件进行解密,以得到第一中间文件;
第一判断子单元,用于判断所述第一中间文件的前六个字符是否是SQLite;若所述第一中间文件的前六个字符是SQLite,则选择第二解密算法作为当前备份的解密算法;
第二解密子单元,用于若所述第一中间文件的前六个字符不是SQLite,则采用第一解密算法对所述第一中间文件进行解密,以得到第二中间文件;
第二判断子单元,用于判断所述第二中间文件的前六个字符是否是SQLite;若所述第二中间文件的前六个字符不是SQLite,则选择第二解密算法作为当前备份的解密算法;若所述第二中间文件的前六个字符是SQLite,则选择第一解密算法作为当前备份的解密算法。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011033818.5A CN112115496B (zh) | 2020-09-27 | 2020-09-27 | 数据解密模式识别方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011033818.5A CN112115496B (zh) | 2020-09-27 | 2020-09-27 | 数据解密模式识别方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112115496A CN112115496A (zh) | 2020-12-22 |
CN112115496B true CN112115496B (zh) | 2024-04-12 |
Family
ID=73797874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011033818.5A Active CN112115496B (zh) | 2020-09-27 | 2020-09-27 | 数据解密模式识别方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115496B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599828A (zh) * | 2009-06-17 | 2009-12-09 | 刘霁中 | 一种高效的rsa加解密方法及其协处理器 |
CN106845167A (zh) * | 2016-12-12 | 2017-06-13 | 北京奇虎科技有限公司 | 一种apk的加固方法和装置,及动态加载方法和装置 |
CN108183796A (zh) * | 2017-12-29 | 2018-06-19 | 北京梆梆安全科技有限公司 | 利用白盒库文件和白盒密钥文件进行加解密的方法及装置 |
CN109376133A (zh) * | 2018-09-26 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 文件访问方法及文件访问系统 |
CN109948322A (zh) * | 2018-10-25 | 2019-06-28 | 贵州财经大学 | 本地化加密防护的个人云存储数据保险箱装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856938B (zh) * | 2012-12-04 | 2017-07-28 | 中兴通讯股份有限公司 | 一种加密解密的方法、系统及设备 |
-
2020
- 2020-09-27 CN CN202011033818.5A patent/CN112115496B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599828A (zh) * | 2009-06-17 | 2009-12-09 | 刘霁中 | 一种高效的rsa加解密方法及其协处理器 |
CN106845167A (zh) * | 2016-12-12 | 2017-06-13 | 北京奇虎科技有限公司 | 一种apk的加固方法和装置,及动态加载方法和装置 |
CN108183796A (zh) * | 2017-12-29 | 2018-06-19 | 北京梆梆安全科技有限公司 | 利用白盒库文件和白盒密钥文件进行加解密的方法及装置 |
CN109376133A (zh) * | 2018-09-26 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 文件访问方法及文件访问系统 |
CN109948322A (zh) * | 2018-10-25 | 2019-06-28 | 贵州财经大学 | 本地化加密防护的个人云存储数据保险箱装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112115496A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106778283B (zh) | 一种系统分区关键数据的保护方法及系统 | |
US20060112113A1 (en) | Static file system differencing and updating | |
CN110022558B (zh) | 一种升级包的加密、解密方法和电子装置及存储介质 | |
EP3103048B1 (en) | Content item encryption on mobile devices | |
CN109787956B (zh) | 数据表加密方法、装置、计算机设备及存储介质 | |
CN106778295B (zh) | 文件存储、显示方法、装置及终端 | |
CN112947981A (zh) | 应用程序资源更新方法、装置、终端设备及服务器 | |
CN111258756A (zh) | 一种负载均衡方法、装置、计算机设备和可读存储介质 | |
CN110046000B (zh) | 小程序运行方法和装置 | |
CN113609147B (zh) | 数据共享方法、装置及电子设备 | |
CN112115495B (zh) | 可离线云端数据存储方法、系统、计算机设备及存储介质 | |
CN112115496B (zh) | 数据解密模式识别方法、装置、计算机设备及存储介质 | |
CN112052432A (zh) | 终端设备授权方法及装置 | |
CN112182512A (zh) | 一种信息处理方法、装置及存储介质 | |
CN112434094A (zh) | 基于加密算法的数据库连接方法、装置及计算机设备 | |
CN107015821B (zh) | 增量更新的方法和装置 | |
CN109766084B (zh) | 支付应用的定制开发方法、装置、计算机设备和存储介质 | |
CN110674511A (zh) | 基于椭圆曲线加密算法的离线数据保护方法及系统 | |
WO2020103059A1 (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN113407379B (zh) | 应用程序数据的智能备份方法、装置、设备及介质 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN111046389A (zh) | 固件组件安全更新的方法以及用以实施的携行计算机站 | |
CN115757535A (zh) | 数据查询方法、数据存储方法、装置及电子设备 | |
CN114969793A (zh) | 一种软件产品的加密升级方法、装置以及系统 | |
CN109933994B (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 |