一种数据处理方法及装置
技术领域
本发明涉及数据处理技术,尤其涉及一种数据处理方法及装置。
背景技术
在高度信息化的社会环境中,个人或企业需要保存的数据越来越多,同时随着多终端的发展,终端之间数据的同步也成为越来越多用户的需求,尤其是对于一些敏感数据如通讯录、照片、办公数据等,更加迫切需要一种能够实现“存储+多种终端同步”的产品。
云存储服务应运而生,云盘、网盘、私人数据云存储等正是具有上述功能的产品,但是云存储的广泛应用也带来巨大的安全问题。保存在网络侧如云端的数据一旦被泄露,就会造成敏感数据泄露,尤其随着频发的云存储的个人数据泄露事件,更加让人们意识到云存储安全的重要性。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的问题而提供一种数据处理方法及装置,能够保证云端存储的内容为加密后数据,从而提升云服务安全性。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种数据处理方法,所述方法包括:
获取第一文件,并确定所述第一文件的文件大小参数,所述文件大小参数用于表明所述第一文件的数据量大小;
基于所述文件大小参数,确定第一加密策略;
获取数据密钥;
根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,读取的所述待加密数据至少包括所述第一文件的文件头数据;
上传所述第二文件。
优选地,所述读取的待加密数据还包括:所述第一文件中的数据中,除所述文件头数据之外的其它数据。
优选地,所述第一加密策略为预设的加密策略集合中的加密策略,所述加密策略中所配置的内容包括第一数据参数D、第二数据参数N和位置生成规则;
其中,所述第一数据参数D用于表明将所述第一文件中的数据分割成的单个数据块的数据量大小;所述第二数据参数N用于表明待加密的数据块的总数,所述N为大于1的整数;所述位置生成规则用于确定每一个待加密的数据块所对应的一个位置信息。
优选地,所述根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,包括:
根据所述第一数据参数D将所述第一文件中的数据进行分割,得到M个第一数据块,所述M为大于等于1的整数,所述M大于等于所述N;
根据所述位置生成规则在M个第一位置信息中,确定N个第一位置信息;
利用所述数据密钥,分别对与所述N个第一位置信息对应的N个第一数据块进行加密,得到第二文件,所述N个第一数据块为所述M个第一数据块的子集。
优选地,在所述根据所述第一数据参数D将所述第一文件中的数据进行分割,得到M个第一数据块之前,所述根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,还包括:
获取终端的设备性能参数,根据所述设备性能参数确定控制因子;
通过所述控制因子对所述第一数据参数D和所述第二数据参数N进行修正。
优选地,所述根据所述位置生成规则在M个第一位置信息中,确定N个第一位置信息,包括:
按照所述位置生成规则将所述数据密钥,转换为N个第二位置信息;
将所述N个第二位置信息转换为M个第一位置信息中的N个第一位置信息。
优选地,所述利用所述数据密钥,分别对与所述N个第一位置信息对应的N个第一数据块进行加密,得到第二文件,包括:
根据所述N个第一位置信息从所述M个第一数据块中获取对应的N个第一数据块;
利用所述数据密钥对所述N个第一数据块进行加密,得到与所述N个第一数据块对应的N个第二数据块,所述N个第二数据块具有第一顺序;
将所述N个第二数据块、与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
优选地,所述加密策略中所配置的内容还包括:位置调换规则;
相应地,所述将所述N个第二数据块与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件,包括:
按照所述位置调换规则对所述N个第二数据块的位置进行调换,得到具有第二顺序的N个第二数据块;
将所述具有第二顺序的N个第二数据块,与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
优选地,所述基于所述文件大小参数,确定第一加密策略,包括:
判断所述文件大小参数与预设阈值之间的大小关系,得到第一阈值范围,所述第一阈值范围为所述文件大小参数所落入的阈值范围;
根据所述第一阈值范围查询预设的映射关系,得到第一加密策略;其中,所述映射关系用于表明不同的阈值范围所对应的加密策略。
优选地,在上传所述第二文件之前,所述方法还包括:
获取登录密钥;
确定所述登录密钥与账户匹配时,上传所述第二文件。
第二方面,本发明实施例提供一种数据处理装置,所述装置包括第一获取单元、确定单元、第二获取单元、加密单元和上传单元,其中:
所述第一获取单元,用于获取第一文件,并确定所述第一文件的文件大小参数,所述文件大小参数用于表明所述第一文件的数据量大小;
所述确定单元,用于基于所述文件大小参数,确定第一加密策略;
所述第二获取单元,用于获取数据密钥;
所述加密单元,用于根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,读取的所述待加密数据至少包括所述第一文件的文件头数据;
所述上传单元,用于上传所述第二文件。
优选地,所述读取的所述待加密数据还包括:所述第一文件中的数据中,除所述文件头数据之外的其它数据。
优选地,所述第一加密策略为预设的加密策略集合中的加密策略,所述加密策略中所配置的内容包括第一数据参数D、第二数据参数N和位置生成规则;
其中,所述第一数据参数D用于表明将所述第一文件中的数据分割成的单个数据块的数据量大小;所述第二数据参数N用于表明待加密的数据块的总数,所述N为大于1的整数;所述位置生成规则用于确定每一个待加密的数据块所对应的一个位置信息。
优选地,所述加密单元包括分割模块、第一确定模块和加密模块,其中:
所述分割模块,用于根据所述第一数据参数D将所述第一文件中的数据进行分割,得到M个第一数据块,所述M为大于等于1的整数,所述M大于等于所述N;
所述第一确定模块,用于根据所述位置生成规则在M个第一位置信息中,确定N个第一位置信息;
所述加密模块,用于利用所述数据密钥,分别对与所述N个第一位置信息对应的N个第一数据块进行加密,得到第二文件,所述N个第一数据块为所述M个第一数据块的子集。
优选地,所述加密单元还包括获取模块和修正模块,其中:
所述获取模块,用于获取终端的设备性能参数,根据所述设备性能参数确定控制因子;
所述修正模块,用于通过所述控制因子对所述第一数据参数D和所述第一数据参数N进行修正。
优选地,所述第一确定模块包括第一转换子模块和第二转换子模块,其中:
所述第一转换子模块,用于按照所述位置生成规则将所述数据密钥,转换为N个第二位置信息;
所述第二转换子模块,用于将所述N个第二位置信息转换为M个第一位置信息中的N个第一位置信息。
优选地,所述加密模块包括获取子模块、加密子模块和排列子模块,其中:
所述换取子模块,用于根据所述N个第一位置信息从所述M个第一数据块中获取对应的N个第一数据块;
所述加密子模块,用于利用所述数据密钥对所述N个第一数据块进行加密,得到与所述N个第一数据块对应的N个第二数据块,所述N个第二数据块具有第一顺序;
所述排列子模块,用于将所述N个第二数据块、与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
优选地,所述加密策略中所配置的内容还包括:位置调换规则;
相应地,所述排列子模块,用于按照所述位置调换规则对所述N个第二数据块的位置进行调换,得到具有第二顺序的N个第二数据块;
将所述具有第二顺序的N个第二数据块,与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
优选地,所述确定单元包括第二确定模块和查询模块,其中:
所述第二确定模块,用于确定所述文件大小参数与预设阈值之间的大小关系,得到第一阈值范围,所述第一阈值范围为所述文件大小参数所落入的阈值范围;
所述查询模块,用于根据所述第一阈值范围查询预设的映射关系,得到第一加密策略;其中,所述映射关系用于表明不同的阈值范围所对应的加密策略。
优选地,所述上传单元包括获取模块和上传模块,其中:
所述获取模块,用于获取登录密钥;
所述上传模块,用于确定所述登录密钥与账户匹配时,上传所述第二文件。
本发明实施例提供的一种数据处理方法及装置,获取第一文件,并确定所述第一文件的文件大小参数,所述文件大小参数用于表明所述第一文件的数据量大小;基于所述文件大小参数,确定第一加密策略;获取数据密钥;根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,读取的所述待加密数据至少包括所述第一文件的文件头数据;上传所述第二文件;如此,能够保证云端存储的内容为加密后数据,从而提升云服务安全性。
附图说明
图1-1为本发明实施例数据处理方法的流程示意图;
图1-2为本发明实施例一数据处理方法的实现流程示意图;
图1-3为本发明实施例一步骤102的实现流程示意图;
图2为本发明实施例二数据处理方法的实现流程示意图;
图3为本发明实施例二中步骤242的实现流程示意图;
图4为本发明实施例四数据处理方法的实现流程示意图;
图5-1为本发明实施例二步骤243的实现流程示意图;
图5-2为本发明实施例五中步骤503的实现流程示意图;
图6-1为本发明实施例六数据处理装置的组成结构示意图;
图6-2为本发明实施例六上传单元605的组成结构示意图;
图6-3为本发明实施例六确定单元602的组成结构示意图;
图7-1为本发明实施例七数据处理装置的组成结构示意图一;
图7-2为本发明实施例七数据处理装置的组成结构示意图二;
图7-3为本发明实施例七中第一确定模块742的组成结构示意图;
图7-4为本发明实施例七中加密模块743的组成结构示意图;
图8为本发明实施例八终端的组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
先介绍一下云存储、云端、文件头等概念:云存储就是将储存资源放到云端上,以供用户存取的一种方式。用户可以在任何时间、任何地方,通过任何可连网的终端连接到云端,从而实现存取数据;其中,云端就是保存数据的云服务器,即存储设备集群。
所述文件头位于文件的头部,用于描述文件本身的类型、大小等信息,便于应用程序解析打开文件;而文件内容在文件头后,是文件的真实数据内容。
本发明以下实施例提供的数据处理方法,采用如图1-1所示的处理过程:由用户设置独立的数据密钥,用户所使用的终端使用该数据密钥对需要传送到云端的数据进行加密,从而得到加密后的数据;终端使用登陆密钥授权上传行为,将加密后的数据上传到云端。其中,用户所使用的终端可以是个人计算机、笔记本电脑、平板电脑、智能手机等。
要说明的是,本发明以下实施例提供的数据处理方法及装置,应用于云存储,由于既涉及加密数据又涉及上传数据,因此,对本地终端的资源消耗是非常大的,特别是在待上传数据非常大的情况下,加密数据和上传数据也相当的耗时,在带宽一定的情况下上传数据的时间是一定的,也就是说,在带宽一定的情况下,上传数据的时间是不能缩短的,那么为了减少耗时,在对数据进行加密的过程中可以只加密部分数据。因此,本发明的以下实施例中在对数据进行加密时,终端根据待上传数据的数据量大小来选择加密策略,这里所述加密策略决定是加密全部数据还是加密部分数据,以及在加密部分数据时具体加密多少数据。通过本发明实施例提供的技术方案,能够根据加密策略实现对待上传数据的加密,从而保证云存储的内容为加密后数据,进而提升云服务安全性。
实施例一
本发明实施例提供一种数据处理方法,应用于终端,图1-2为本发明实施例一数据处理方法的实现流程示意图二,如图1-2所示,该方法包括:
步骤101,获取第一文件,并确定所述第一文件的文件大小参数;
这里,所述文件大小参数用于表明所述第一文件的数据量大小;
这里,所述第一文件是用户所选择的待上传到云端的文件,该第一文件的类型可以是表格、文本、照片、图片、视频、音乐等,其中文本文件可以是word文本、pdf文本、txt文本等。
这里,所述文件大小参数的单位可以是字节(B,Byte)、千字节(KB)、兆字节(MB)、千兆字节(GB)等。
步骤102,基于所述文件大小参数,确定第一加密策略;
这里,所述第一加密策略为预设的加密策略集合中的加密策略,可以根据不同的文件大小参数从加密策略集合中确定对应的加密策略。
步骤103,获取数据密钥;
这里,所述数据密钥用于与加密算法配合对需要传送到云端的数据进行加密。其中,所述数据密钥至少包括以下至少任一:字母、阿拉伯数字0到9、标点符号、以及控制字符等。其中字母可以是大写字母也可以是小写字母。为保证加密速度,在具体实现的过程中可以选取对称加密算法,如公有算法中的数据加密标准(DES,Data Encryption Standard)算法等;
步骤104,根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,读取的所述待加密数据至少包括所述第一文件的文件头数据;
这里,所述第二文件为加密后的第一文件。
这里,所述文件头位于文件的头部,用于描述文件本身的类型、大小等信息,便于应用程序解析打开文件;而文件内容在文件头后,是文件的真实数据内容;这里,加密文件头数据能够防止恶意用户根据文件头获取文件类型,进而降低获取文件内容的可能性。
这里,所述读取的所述待加密数据还包括:所述第一文件中的数据中,除所述文件头数据之外的其它数据。
步骤105,上传所述第二文件。
这里,所述上传所述第二文件包括:将所述第二文件上传到网络侧,所述网络侧包括云端。
本发明实施例中,在步骤101之前,该方法还可以包括:获取用户输入的第一操作,并基于所述第一操作,获取第一文件;在步骤103之前,该方法还可以包括:获取用户输入的第二操作,并基于所述第二操作,获取数据密钥。所述获取用户输入的第一操作与所述获取用户输入的第二操作比较类似,这里以获取用户输入的第一操作为例,来提供几种实现获取用户输入的第一操作的方式,具体如下:
第一种方式:所述获取用户输入的第一操作,包括:检测是否发生满足第一预定条件的触控操作;当所述操作满足所述第一预定条件时,确定为获取用户输入的第一操作。
这里,所述触控操作满足所述第一预定条件,可以通过但不限于以下形式实现:所述触控操作是否为单击触碰操作;或者,所述触控操作是否为双击触碰操作等。
第二种方式:所述获取用户输入的第一操作,包括:检测所述电子设备是否发生满足第二预定条件的姿态变化;当所述电子设备发生满足所述第二预定条件的姿态变化时,确定为获取用户输入的第一操作。
这里,所述姿态变化可以是电子设备位置的变化。
第三种方式:所述获取用户输入的第一操作,包括:检测是否发生满足第三预定条件的语音;当发生满足所述第三预定条件的语音时,确定为获取用户输入的第一操作。
本发明实施例中,如图1-3所示,步骤102包括:
步骤121,判断所述文件大小参数与预设阈值之间的大小关系,得到第一阈值范围;
这里,所述第一阈值范围为所述文件大小参数所落入的阈值范围;
步骤122,根据所述第一阈值范围查询预设的映射关系,得到第一加密策略;
这里,所述映射关系用于表明不同的阈值范围所对应的加密策略。
这里,所述阈值设置在阈值集合中,所述阈值集合包括依次从小到大排列的第一阈值、第二阈值、第三阈值、第四阈值、第五阈值等等;例如第一阈值可以是1KB,第二阈值可以是100KB、第三阈值可以是10MB、第四阈值可以是100MB、第五阈值可以是1GB;假设阈值集合包括前述的五个阈值,则阈值集合一共可以包括六个阈值范围,即:小于1KB的阈值范围T1、大于1KB小于100KB的阈值范围T2、大于100KB小于10MB的阈值范围T3、大于10MB小于100MB的阈值范围T4、大于100MB小于1GB的阈值范围T5、以及大于1GB的阈值范围T6;阈值范围T1至阈值范围T6分别对应于加密策略C1至C6;假设文件大小参数为10KB,则第一文件的文件大小参数落入阈值范围T2,此时阈值范围T2即为所述第一阈值范围,根据阈值范围T2可以确定第一加密策略为加密策略C2。
在图1-1所示实施例的基础上,所述方法还包括:获取登录密钥;确定所述登录密钥与账户匹配时,上传所述第二文件。
这里,确定所述登录密钥与账户不匹配时,提示用户输入的登录密钥有误,并提示用户重新输入登录密钥。
这里,在所述获取登录密钥之前,所述方法还包括获取所述用户输入的第三操作,并基于所述第三操作,获取登录密钥;所述第三操作与第二操作、第一操作类似,因此不再赘述。
本发明实施例中,获取第一文件,并确定所述第一文件的文件大小参数;基于所述文件大小参数,确定第一加密策略;获取数据密钥;根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,读取的所述待加密数据至少包括所述第一文件的文件头数据;上传所述第二文件;如此,能够保证云端存储的内容为加密后数据,从而提升云服务安全性。
实施例二
本发明实施例提供一种数据处理方法,应用于终端,图2为本发明实施例二数据处理方法的实现流程示意图,如图2所示,该方法包括:
步骤201,获取第一文件,并确定所述第一文件的文件大小参数;
这里,所述文件大小参数用于表明所述第一文件的数据量大小;
步骤202,基于所述文件大小参数,确定第一加密策略;
这里,所述第一加密策略为预设的加密策略集合中的加密策略,所述加密策略中所配置的内容包括第一数据参数D、第二数据参数N和位置生成规则;
其中,所述第一数据参数D用于表明将所述第一文件中的数据分割成的单个数据块的数据量大小;所述第二数据参数N用于表明待加密的数据块的总数,所述N为大于1的整数;所述位置生成规则用于确定每一个待加密的数据块所对应的一个位置信息。
在加密第一文件时需要将第一文件中的数据分割成独立的单个数据块,然后利用数据密钥对数据块进行加密,那么,在加密策略中有以下几个参数需要确定:第一个参数是分割的单个数据块的大小(对应于第一数据参数D);第二个参数是待加密的数据块的数量(对应于第二数据参数N),第三个参数是加密的数据块的位置信息(对应于位置信息)。其中不同的加密策略对应的第一数据参数D、第二数据参数N等都可以有所不同。
步骤203,获取数据密钥;
步骤241,根据所述第一数据参数D将所述第一文件中的数据进行分割,得到M个第一数据块;
这里,所述M为大于等于1的整数,所述M大于等于所述N;
步骤242,根据所述位置生成规则在M个第一位置信息中,确定N个第一位置信息;
这里,所述第一位置信息可以为位置索引号;
步骤243,利用所述数据密钥,分别对与所述N个第一位置信息对应的N个第一数据块进行加密,得到第二文件;
这里,所述N个第一数据块为所述M个第一数据块的子集。
步骤205,上传所述第二文件。
本实施例中,如前所述,为了提高加密速度以减少耗时,在对数据进行加密时,终端根据待上传数据的数据量大小来选择加密策略,以确定是加密全部数据还是加密部分数据;
这里,继续承接前述的例子,加密策略C1对应于1KB以下的第一文件,由于上传到云端的数据量较小,加密策略中的第二数据参数N可以等于M,也就是说,可以选择为全部数据进行加密;而加密策略C2至C6对应于100KB至1GB以上的第一文件,因此,加密策略中N可以根据文件的文件大小参数将N设置的小一些。
这里,加密策略中的第二数据参数N还可以根据加密比例x来设置,对应于加密策略C1至C6,加密比例x分别为100%、90%、80%、60%、40%和20%,即:对加密策略C1来说,第二数据参数N=M*100%=M;加密策略C2来说,第二数据参数N=M*90%=0.9M;依此类推……,而对于加密C6来说,第二数据参数N=M*20%=0.2M。
这里,举个例子来详细说明本实施例所提供的数据处理方法,继续承接实施例一中的例子,当第一文件的文件大小参数为10KB时,该第一文件所对应的第一加密策略为加密策略C2;
具体地,加密策略C2所配置的内容为:第一数据参数D为1KB、第二数据参数N为4,位置生成规则为按逆序取前4个位置信息为奇数的数据块;
首先,执行步骤241,由于第一文件的文件大小参数为10KB,按照1KB将第一文件中数据进行分割,可以得到10个第一数据块,其中每一第一数据块的大小为第一数据参数D,也即1KB;假设这10个第一数据块按文件顺序依次进行编号,编号为01至10,将每一第一数据块的编号作为该第一数据块的第一位置信息;
然后,执行步骤242,按逆序取前4个位置信息为奇数的数据块,即步骤242中N个第一位置信息即为09、07、05和03,换句话说,待加密的4个第一数据块分别为编号09、07、05和03的第一数据块;
其次,执行步骤243,利用数据密钥对第一位置信息为09、07、05和03的第一数据块进行加密,得到第二文件,最后将第二文件上传到云端。
实施例三
本实施例提供一种实现实施例二中步骤242的方式,图3为本发明实施例二中步骤242的实现流程示意图,如图3所示,该步骤242包括:
步骤2421,按照所述位置生成规则将所述数据密钥,转换为N个第二位置信息;
这里,本领域的技术人员可以根据各种现有技术来实现设置所述位置生成规则,本实施例提供几种位置生成规则,所述位置生成规则至少包括以下规则中的任一:
位置生成规则一:按正序取前N个位置信息为奇数的数据块;
位置生成规则二:按正序取前N个位置信息为偶数的数据块;
位置生成规则三:按逆序取前N个位置信息为奇数的数据块;
位置生成规则四:按逆序取前N个位置信息为偶数的数据块;
位置生成规则五:将数据密钥转换为第二位置信息,然后根据转换后的第二位置信息确定待加密的数据块的第一位置信息。
这里,前4种位置生成规则一至四的安全性与第5种位置生成规则相比,安全性相对较低,而实现起来却比较简单;所述“将数据密钥转换为位置信息”可以通过将数据密钥转换为美国信息交换标准代码(ASCII,American StandardCode for Information),然后以ASCII所对应的数字作为第一数据块的第二位置信息。如果数据密钥为纯阿拉伯数字,可以在将阿拉伯数字加上预设的偏移量作为第一数据块的第二位置信息;当N大于数据密钥的位数时,可以设置一个循环偏移量;
例如,假设数据密钥为4位数字“1234”,而第二数据参数N为9,可见N=9大于数据密钥的位数4,同时假设设置的循环偏移量为2与整数倍,则待加密的第一数据块的第二位置信息依次为“1+2*1、2+2*2、3+2*3、4+2*4、1+2*5、2+2*6、3+2*7、4+2*8、1+2*9”,即:“3、6、9、12、11、14、17、20和19”;
又如,假设数据密钥为4位字母“chdg”,小写字母“c”对应的ASCII码为“99”,小写字母“d”对应的ASCII码为“100”,小写字母“g”对应的ASCII码为“103”,而小写字母“h”对应的ASCII码为“104”,如果N=4,则待加密的第一数据块的第二位置信息依次为“99、100、103和104”;
当N大于数据密钥的位数时,可以设置一个循环偏移量,例如循环偏移量为从3开始的整数;当N=8,待加密的第一数据块的第二位置信息依次为“99、100、103、104、99+3、100+4、103+5、104+6”;当N小于数据密钥的位数时,可以取前N个或后N个第二位置信息;本领域的技术人员可以参照有关密码学的公知常识来实现“将数据密钥转换为位置信息”,因此不再赘述。
步骤2422,将所述N个第二位置信息转换为M个第一位置信息中的N个第一位置信息。
这里,继续承接实施例二中的例子,由于第一文件的文件大小参数为10KB,按照1KB将第一文件中数据进行分割,可以得到10个第一数据块;那么第一位置信息只能是01至10,而上述步骤2421中采用位置生成规则五所生成的第二位置信息很有可能已经溢出了最大的“第一位置信息10”,因此,需要将第二位置信息转换在M个第一位置信息中,转换的方式可以采用“取余”的方式,例如,将第二位置信息即:“99、100、103和104”转换为第一位置信息“9、10、3、4”。本领域的技术人员可以根据其他现有技术来实现上述的步骤2422,因此不再赘述。
实施例四
本发明实施例提供一种数据处理方法,应用于终端,在图2所示的实施例的基础上,图4为本发明实施例四数据处理方法的实现流程示意图,如图4所示,该方法还包括:
步骤400,获取终端的设备性能参数,根据所述设备性能参数确定控制因子,通过所述控制因子对所述第一数据参数D和所述第一数据参数N进行修正;
这里,所述设备性能参数包括处理器的核芯数、处理器的主频和内存大小;
这里,本实施例提供一种根据所述设备性能参数确定控制因子的方式,即:
控制因子=处理器的核芯数*处理器的主频*内存大小/文件大小;该公式中文件大小的单位为MB,处理器主频的单位为GHz,内存大小的单位为GB。
例如,处理器为4核、处理器的主频为1.6GHz、内存为4GB、待加密的文件为10MB,经过计算得控制因子=2.56;一般来说,采用上述公式计算所得的控制因子一般来说并不是整数,为了简便,可以对上述公式计算出来的控制因子进行向上取整运算、或向下取整运算;该例中对2.56进行向下取整运算后所得的结果为2。
这里,通过所述控制因子对所述第一数据参数D进行修正,可以为:将计算得出的控制因子与加密策略中的第一数据参数D相乘,将乘积作为新的第一数据参数D;通过所述控制因子对所述第二数据参数N进行修正,可以为:将计算得出的控制因子与加密策略中的第二数据参数N相乘,将乘积作为新的第二数据参数N。
步骤241,根据修正后的第一数据参数D将所述第一文件中的数据进行分割,得到M个第一数据块;
这里,所述M为大于等于1的整数,所述M大于等于所述N;
步骤242,根据位置生成规则在M个第一位置信息中,确定N个第一位置信息;
这里,所述位置信息可以为位置索引号;
步骤243,利用所述数据密钥,分别对与所述N个第一位置信息对应的N个第一数据块进行加密,得到第二文件;
这里,所述N个第一数据块为所述M个第一数据块的子集。
步骤205,上传所述第二文件。
实施例五
本实施例提供一种实现实施例二中步骤243的方式,图5-1为本发明实施例二步骤243的实现流程示意图,如图5-1所示,该步骤243包括:
步骤501,根据所述N个第一位置信息从所述M个第一数据块中获取对应的N个第一数据块;
步骤502,利用所述数据密钥对所述N个第一数据块进行加密,得到与所述N个第一数据块对应的N个第二数据块;
这里,所述N个第二数据块具有第一顺序;
步骤503,将所述N个第二数据块、与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
本实施例中,所述加密策略中所配置的内容还包括:位置调换规则;相应地,如图5-2所示,步骤503包括:
步骤531,按照所述位置调换规则对所述N个第二数据块的位置进行调换,得到具有第二顺序的N个第二数据块;
步骤532,将所述具有第二顺序的N个第二数据块,与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
本实施例提供一种位置调换规则,该位置调换规则通过数据密钥控制对N个第二数据块位置进行调换,调换后的第三位置信息保存在本地;
假设用户输入的数据密钥的位数为S1个,而待加密的第一数据块为N;该位置调换规则是:当S1小于N时,则从N中按逆序取出S1个数据块,并将取出的S1个数据块放入N的前S1个。如果S1大于等于N,则所有加密块顺序不变,但都移动到文件开头位置。
例如:S1=3,N=5,调换前的第一位置信息为(a,b,c,d,e),而调换后的第三位置信息为(e,d,c,a,b);再如S1=5,N=3,调换前的第一位置信息(a,b,c),则调换后的第三位置信息仍为(a,b,c),但是第三位置信息所对应的第一数据块都移动到文件的前面,其他的第一数据块则保持原来的顺序不变。
实施例六
基于上述各实施例所提供的数据处理方法,本发明实施例提供一种数据处理装置,应用于终端,图6-1为本发明实施例六数据处理装置的组成结构示意图,如图6-1所示,该装置包括第一获取单元601、确定单元602、第二获取单元603、加密单元604和上传单元605,其中:
所述第一获取单元601,用于获取第一文件,并确定所述第一文件的文件大小参数,所述文件大小参数用于表明所述第一文件的数据量大小;
所述确定单元602,用于基于所述文件大小参数,确定第一加密策略;
所述第二获取单元603,用于获取数据密钥;
所述加密单元604,用于根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,读取的所述待加密数据至少包括所述第一文件的文件头数据;
所述上传单元605,用于上传所述第二文件。
这里,所述文件大小参数用于表明所述第一文件的数据量大小;所述第一文件是用户所选择的待上传到云端的文件,该第一文件的类型可以是表格、文本、照片、图片、视频、音乐等,其中文本文件可以是word文本、pdf文本、txt文本等。所述文件大小参数的单位可以是B、KB、MB、GB等。
这里,所述第一加密策略为预设的加密策略集合中的加密策略,可以根据不同的文件大小参数从加密策略集合中确定对应的加密策略。
这里,所述数据密钥用于与加密算法配合对需要传送到云端的数据进行加密。所述数据密钥至少包括以下至少任一:字母、阿拉伯数字0到9、标点符号、以及控制字符等。其中字母可以是大写字母也可以是小写字母。为保证加密速度,可以选取对称加密算法如DES算法等。
这里,所述读取的所述待加密数据还包括:所述第一文件中的数据中,除所述文件头数据之外的其它数据。
这里,所述第二文件为加密后的第一文件。
在图6-1所示的实施例的基础上,如图6-2所示,所述上传单元605包括获取模块651和上传模块652,其中:
所述获取模块651,用于获取登录密钥;
所述上传模块652,用于确定所述登录密钥与账户匹配时,上传所述第二文件。
在图6-1所示的实施例的基础上,如图6-3所示,所述确定单元602包括第二确定模块621和查询模块622,其中:
所述第二确定模块621,用于确定所述文件大小参数与预设阈值之间的大小关系,得到第一阈值范围,所述第一阈值范围为所述文件大小参数所落入的阈值范围;
所述查询模块622,用于根据所述第一阈值范围查询预设的映射关系,得到第一加密策略;其中,所述映射关系用于表明不同的阈值范围所对应的加密策略。
实施例七
在实施例六的基础上,本发明实施例提供一种数据处理装置,应用于终端,图7-1为本发明实施例七数据处理装置的组成结构示意图,如图7-1所示,该装置包括第一获取单元701、确定单元702、第二获取单元703、加密单元704和上传单元705,其中所述加密单元704包括分割模块741、第一确定模块742和加密模块743,其中:
所述第一获取单元701,用于获取第一文件,并确定所述第一文件的文件大小参数,所述文件大小参数用于表明所述第一文件的数据量大小;
所述确定单元702,用于基于所述文件大小参数,确定第一加密策略;
这里,所述第一加密策略为预设的加密策略集合中的加密策略,所述加密策略中所配置的内容包括第一数据参数D、第二数据参数N和位置生成规则;
其中,所述第一数据参数D用于表明将所述第一文件中的数据分割成的单个数据块的数据量大小;所述第二数据参数N用于表明待加密的数据块的总数,所述N为大于1的整数;所述位置生成规则用于确定每一个待加密的数据块所对应的一个位置信息。
在加密第一文件时需要将第一文件中的数据分割成独立的单个数据块,然后利用数据密钥对数据块进行加密,那么,在加密策略中有以下几个参数需要确定:第一个参数是分割的单个数据块的大小(对应于第一数据参数D);第二个参数是待加密的数据块的数量(对应于第二数据参数N),第三个参数是加密的数据块的位置信息(对应于位置信息)。
所述第二获取单元703,用于获取数据密钥;
所述分割模块741,用于根据所述第一数据参数D将所述第一文件中的数据进行分割,得到M个第一数据块,所述M为大于等于1的整数,所述M大于等于所述N;
所述第一确定模块742,用于根据所述位置生成规则在M个第一位置信息中,确定N个第一位置信息;
这里,所述第一位置信息可以为位置索引号;
所述加密模块743,用于利用所述数据密钥,分别对与所述N个第一位置信息对应的N个第一数据块进行加密,得到第二文件,所述N个数据块为所述M个第一数据块的子集;
所述上传单元705,用于上传所述第二文件。
这里,所述设备性能参数包括处理器的核芯数、处理器的主频和内存大小;
这里,本实施例提供一种根据所述设备性能参数确定控制因子的方式,即:
控制因子=处理器的核芯数*处理器的主频*内存大小/文件大小;该公式中文件大小的单位为MB,处理器主频的单位为GHz,内存大小的单位为GB。
例如,处理器为4核、处理器的主频为1.6GHz、内存为4GB、待加密的文件为10MB,经过计算得控制因子=2.56;一般来说,采用上述公式计算所得的控制因子一般来说并不是整数,为了简便,可以对上述公式计算出来的控制因子进行向上取整运算、或向下取整运算;该例中对2.56进行向下取整运算后所得的结果为2。
这里,通过所述控制因子对所述第一数据参数D进行修正,可以为:将计算得出的控制因子与加密策略中的第一数据参数D相乘,将乘积作为新的第一数据参数D;通过所述控制因子对所述第二数据参数N进行修正,可以为:将计算得出的控制因子与加密策略中的第二数据参数N相乘,将乘积作为新的第二数据参数N。
如图7-2所示,所述加密单元704除了包括上述的分割模块741、第一确定模块742和加密模块743外,该加密单元704还包括获取模块744和修正模块745,其中:
所述获取模块744,用于获取终端的设备性能参数,根据所述设备性能参数确定控制因子;
所述修正模块745,用于通过所述控制因子对所述第一数据参数D和所述第一数据参数N进行修正。
这里,所述设备性能参数包括处理器的核芯数、处理器的主频和内存大小;本实施例提供一种根据所述设备性能参数确定控制因子的方式,即:
控制因子=处理器的核芯数*处理器的主频*内存大小/文件大小;该公式中文件大小的单位为MB,处理器主频的单位为GHz,内存大小的单位为GB。
这里,通过所述控制因子对所述第一数据参数D进行修正,可以为:将计算得出的控制因子与加密策略中的第一数据参数D相乘,将乘积作为新的第一数据参数D;通过所述控制因子对所述第二数据参数N进行修正,可以为:将计算得出的控制因子与加密策略中的第二数据参数N相乘,将乘积作为新的第二数据参数N。
如图7-3所示,所述第一确定模块742包括第一转换子模块7421和第二转换子模块7422,其中:
所述第一转换子模块7421,用于按照所述位置生成规则将所述数据密钥,转换为N个第二位置信息;
所述第二转换子模块7422,用于将所述N个第二位置信息转换为M个第一位置信息中的N个第一位置信息。
如图7-4所示,所述加密模块743包括获取子模块7431、加密子模块7432和排列子模块7433,其中:
所述换取子模块7431,用于根据所述N个第一位置信息从所述M个第一数据块中获取对应的N个第一数据块;
所述加密子模块7432,用于利用所述数据密钥对所述N个第一数据块进行加密,得到与所述N个第一数据块对应的N个第二数据块,所述N个第二数据块具有第一顺序;
所述排列子模块7433,用于将所述N个第二数据块、与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
本发明实施例中,所述加密策略中所配置的内容还包括:位置调换规则;相应地,所述排列子模块7433,还用于按照所述位置调换规则对所述N个第二数据块的位置进行调换,得到具有第二顺序的N个第二数据块;将所述具有第二顺序的N个第二数据块,与除所述N个第一数据块外的(M-N)个第一数据块进行排列,得到第二文件。
本发明实施例中,所述确定单元包括第二确定模块和查询模块,其中:
所述第二确定模块,用于确定所述文件大小参数与预设阈值之间的大小关系,得到第一阈值范围,所述第一阈值范围为所述文件大小参数所落入的阈值范围;
所述查询模块,用于根据所述第一阈值范围查询预设的映射关系,得到第一加密策略;其中,所述映射关系用于表明不同的阈值范围所对应的加密策略。
实施例八
基于上述的各实施例,本发明实施例再提供一种终端,图8为本发明实施例八终端的组成结构示意图,如图8所示,所述终端800包括存储器801和与所述存储器连接的处理器802;其中:
所述存储器801用于存储可执行指令,当所述可执行指令被执行时,使所述处理器802执行以下步骤:
获取第一文件,并确定所述第一文件的文件大小参数,所述文件大小参数用于表明所述第一文件的数据量大小;
基于所述文件大小参数,确定第一加密策略;
获取数据密钥;
根据所述数据密钥和所述第一加密策略,对所述第一文件中的待加密数据进行加密得到第二文件,读取的所述待加密数据至少包括所述第一文件的文件头数据;
上传所述第二文件。
本领域的技术人员应该理解的是,本实施例提供的终端中所述处理器能够执行上述任一实施例所提供的数据处理方法,为节约篇幅,因此不再赘述。
本发明实施例提供的数据处理装置中的第一获取单元、确定单元、第二获取单元、加密单元和上传单元,以及它们各自所包括的模块,甚至各模块所包括的各子模块,都可以通过终端中的处理器来实现;当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU,CentralProcessing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(Field Programmable GateArray)等。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。