一种文件加密方法及系统与流程

文档序号:16308058发布日期:2018-12-19 05:09阅读:206来源:国知局
一种文件加密方法及系统与流程

本申请涉及智能终端技术领域,尤其涉及文件加密方法及系统。

背景技术

随着移动通信技术的飞速发展,人们的工作、生活与智能终端息息相关。用户利用终端上载或下载文件数据,以实现数据存储和/或信息交互等功能。目前,每一个文件可以生成一个唯一的md5值,网络平台(例如,云盘等)可以通过md5值是否相同,以判断数据库中是否包含md5值一致的其他文件。然而,当用户上传的文件与云盘数据库中的文件的md5值一致时,用户上传的文件存在被删除或篡改的风险。为保障用户的个人文件的安全性,需要对文件加密,以提高个人文件的安全。

因此,期望提供一种文件加密方法及系统,利用密钥对文件的每一字节间隔的字节进行加密,以保障用户的个人文件的安全性,并提高了文件加密的效率,实现高效加密文件。



技术实现要素:

根据本申请的一些实施例的第一方面,提供了一种文件加密方法,应用于终端(例如,电子设备等)中,所述方法可以包括:获取一种文件;计算文件加密的字节间隔;选取文件加密的密钥;根据所述密钥,加密所述文件的每一字节间隔的字节。

在一些实施例中,所述方法可以进一步包括:获取所述文件大小;所述文件大小以字节为单位计算。

在一些实施例中,所述计算文件加密的字节间隔进一步包括:确定文件待加密的字节数目;根据所述文件大小,计算文件加密的字节间隔。

在一些实施例中,所述密钥包括异或密钥,所述密钥通过系统设置或由用户自定义。

在一些实施例中,所述选取文件加密的密钥进一步包括选取8位二进制数值为异或密钥。

在一些实施例中,所述方法可以进一步包括:获取加密文件;判断所述文件的md5值和所述加密文件的md5值是否相同。

在一些实施例中,所述解码所述数据流进一步包括:若不同,输出所述加密文件;若相同,变换文件加密的密钥;或调整文件加密的字节间隔。

在一些实施例中,所述方法可以进一步包括:根据所述密钥,解密所述文件的每一字节间隔的字节。

在一些实施例中,所述方法可以进一步包括:获取解密文件;确定所述文件的md5值和所述解密文件的md5值相同。

根据本申请的一些实施例的第二方面,提供了一个系统,包括:一个存储器,被配置为存储数据及指令;一个与存储器建立通信的处理器,其中,当执行存储器中的指令时,所述处理器被配置为:获取一种文件;计算文件加密的字节间隔;选取文件加密的密钥;根据所述密钥,加密所述文件的每一字节间隔的字节。

因此,根据本申请的一些实施例的文件加密方法及系统,利用密钥对文件的每一字节间隔的字节进行加密,以保障用户的个人文件的安全性,并提高了文件加密的效率,实现高效加密文件。

附图说明

为更好地理解并阐述本申请的一些实施例,以下将结合附图参考实施例的描述,在这些附图中,同样的数字编号在附图中指示相应的部分。

图1是根据本申请的一些实施例提供的网络环境系统的示例性示意图。

图2是根据本申请的一些实施例提供的电子设备功能配置的示例性单元示意图。

图3是根据本申请的一些实施例提供的文件加密方法的示例性流程图。

具体实施方式

以下参考附图的描述为便于综合理解由权利要求及其等效内容所定义的本申请的各种实施例。这些实施例包括各种特定细节以便于理解,但这些仅被视为示例性的。因此,本领域技术人员可以理解对在此描述的各种实施例进行各种变化和修改而不会脱离本申请的范围和精神。另外,为简要并清楚地描述本申请,本申请将省略对公知功能和结构的描述。

在以下说明书和权利要求书中使用的术语和短语不限于字面含义,而是仅为能够清楚和一致地理解本申请。因此,对于本领域技术人员,可以理解,提供对本申请各种实施例的描述仅仅是为说明的目的,而不是限制所附权利要求及其等效定义的本申请。

下面将结合本申请一些实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一”、“一个”、“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个相绑定的列出项目的任何或所有可能组合。表达“第一”、“第二”、“所述第一”和“所述第二”是用于修饰相应元件而不考虑顺序或者重要性,仅仅被用于区分一种元件与另一元件,而不限制相应元件。

根据本申请一些实施例的终端可以是电子设备,该电子设备可以包括智能手机、个人电脑(pc,例如平板电脑、台式电脑、笔记本、上网本、掌上电脑pda)、移动电话、电子书阅读器、便携式多媒体播放器(pmp)、音频/视频播放器(mp3/mp4)、摄像机、虚拟现实设备(vr)和可穿戴设备等中的一种或几种的组合。根据本申请的一些实施例,所述可穿戴设备可以包括附件类型(例如手表、戒指、手环、眼镜、或头戴式装置(hmd))、集成类型(例如电子服装)、装饰类型(例如皮肤垫、纹身或内置电子装置)等,或几种的组合。在本申请的一些实施例中,所述电子设备可以是灵活的,不限于上述设备,或者可以是上述各种设备中的一种或几种的组合。在本申请中,术语“用户”可以指示使用电子设备的人或使用电子设备的设备(例如人工智能电子设备)。

本申请实施例提供了一种文件加密方法。为了便于理解本申请实施例,以下将参考附图对本申请实施例进行详细描述。

图1是根据本申请的一些实施例提供的网络环境系统100的示例性示意图。如图1所示,网络环境系统100可以包括电子设备110、网络120和服务器130等。电子设备110可以包括总线111、处理器112、存储器113、输入/输出模块114、显示器115、通信模块116和物理键117等。在本申请的一些实施例中,电子设备110可以省略一个或多个元件,或者可以进一步包括一个或多个其它元件。

总线111可以包括电路。所述电路可以互连电子设备110内的一个或多个元件(例如,总线111、处理器112、存储器113、输入/输出模块114、显示器115、通信模块116和物理键117)。所述电路也可以在电子设备110内的一个或多个元件之间实现通信(例如,获取和/或发送信息)。

处理器112可以包括一个或多个协处理器(co-processor)、应用处理器(ap,applicationprocessor)和通信处理器(communicationprocessor)。作为示例,处理器112可以执行与电子设备110的一个或多个元件的控制和/或数据处理(例如,文件加密等操作)。

存储器113可以存储数据。所述数据可以包括与电子设备110中的一个或多个其它元件相关的指令或数据。例如,所述数据可以包括处理器112处理前的原始数据,中间数据和/或处理后的数据。存储器113可以包括非永久记忆性存储器和/或永久记忆性存储器。作为示例,存储器113可以存储密钥等。

根据本申请的一些实施例,存储器113可以存储软件和/或程序。所述程序可以包括内核、中间件、应用编程接口(api,applicationprogramminginterface)和/或应用程序(或“应用”)。

所述内核、所述中间件或所述应用编程接口的至少一部分可以包括操作系统(os,operatingsystem)。作为示例,所述内核可以控制或管理用于执行其他程序(例如,中间件、应用编程接口和应用程序)中实现的操作或功能的系统资源(例如,总线111、处理器112、存储器113等)。此外,所述内核可以提供接口。所述接口可以通过所述中间件、所述应用编程接口或所述应用程序访问电子设备110的一个或多个元件以控制或管理系统资源。

所述中间件可以作为数据传输的中间层。所述数据传输可以允许应用编程接口或应用程序与所述内核通信用以交换数据。作为示例,所述中间件可以处理从所述应用程序获取的一个或多个任务请求。例如,所述中间件可以向一个或多个应用程序分配电子设备110的系统资源(例如,总线111、处理器112、存储器113等)的优先级,以及处理所述一个或多个任务请求。所述应用编程接口可以是所述应用程序用于控制从所述内核或所述中间件提供功能的接口。所述应用编程接口也可以包括一个或多个接口或功能(例如,指令)。所述功能可以用于启动控制、数据通道控制、安全控制、通信控制、文件控制、窗口控制、文本控制、图像处理、信息处理等。

输入/输出模块114可以向电子设备110的其他元件发送从用户或外部设备输入的指令或数据。输入/输出模块114也可以将从电子设备110的其他元件获取的指令或数据输出给用户或外部设备。在一些实施例中,输入/输出模块114可以包括输入单元,用户可以通过所述输入单元输入信息或指令。

显示器115可以显示内容。所述内容可以向用户显示各种类型(例如,文本、图像、视频、图标和/或符号等,或几种的组合)。显示器115可以包括液晶显示器(lcd,liquidcrystaldisplay)、发光二极管(led,light-emittingdiode)显示器、有机发光二极管(oled,organiclightemittingdiode)显示器、微型机电系统(mems,microelectromechanicalsystems)显示器或电子纸显示器等,或几种的组合。显示器115可以包括显示屏、触摸屏等。所述显示屏可以显示加密文件,或解密的原始文件等。在一些实施例中,显示器115可以显示虚拟键。所述触摸屏可以获取所述虚拟键的输入。显示器115可以通过所述触摸屏获取输入。所述输入可以包括触摸输入、手势输入、动作输入、接近输入、电子笔或用户身体部分的输入(例如,悬停输入)。

通信模块116可以配置设备之间的通信。在一些实施例中,网络环境系统100可以进一步包括电子设备140。作为示例,所述设备之间的通信可以包括电子设备110和其他设备(例如,服务器130或电子设备140)之间的通信。例如,通信模块116可以通过无线通信或有线通信连接到网络120,与其他设备(例如,服务器130或电子设备140)实现通信。

所述无线通信可以包括微波通信和/或卫星通信等。所述无线通信可以包括蜂窝通信(例如,全球移动通信(gsm,globalsystemformobilecommunications)、码分多址(cdma,codedivisionmultipleaccess)、第三代移动通信(3g,the3rdgenerationtelecommunication)、第四代移动通信(4g)、第五代移动通信(5g)、长期演进技术(lte,longtermevolution)、长期演进技术升级版(lte-a,lte-advanced)、宽带码分多址(wcdma,widebandcodedivisionmultipleaccess)、通用移动通信系统(umts,universalmobiletelecommunicationssystem)、无线宽带(wibro,wirelessbroadband)等,或几种的组合。根据本申请的一些实施例,所述无线通信可以包括无线局域网(wifi,wirelessfidelity)、蓝牙、低功耗蓝牙(ble,bluetoothlowenergy)、紫蜂协议(zigbee)、近场通讯(nfc,nearfieldcommunication)、磁安全传输、射频和体域网(ban,bodyareanetwork)等,或几种的组合。根据本申请的一些实施例,所述有线通信可以包括全球导航卫星系统(glonass/gnss,globalnavigationsatellitesystem)、全球定位系统(gps,globalpositionsystem)、北斗导航卫星系统或伽利略(欧洲全球卫星导航系统)等。所述有线通信可以包括通用串行总线(usb,universalserialbus)、高清多媒体接口(hdmi,high-definitionmultimediainterface)、推荐标准232(rs-232,recommendstandard232)、和/或简易老式电话服务(pots,plainoldtelephoneservice)等,或几种的组合。

物理键117可以用于用户交互。物理键117可以包括一个或多个实体键。在一些实施例中,用户可以自定义物理键117的功能。作为示例,物理键117可以发送指令。所述指令可以包括加密文件等。

在一些实施例中,电子设备110可以进一步包括传感器。所述传感器可以包括但不限于光敏传感器、声敏传感器、气敏传感器、化学传感器、压敏传感器、温敏传感器、流体传感器、生物传感器、激光传感器、霍尔传感器、智能传感器等,或几种的组合。

在一些实施例中,电子设备110可以进一步包括红外设备、图像采集设备等。作为示例,所述红外设备可以通过红外线投射方式,以及眨眼识别、注视识别等技术获取眼睛的信息。例如,所述红外设备通过采集用户的眨眼动作来认证用户信息。作为示例,所述图像采集设备可以包括摄像头、虹膜装置等。所述摄像头可以实现眼球追踪等功能。所述虹膜装置可以利用虹膜识别技术进行身份认证(例如,认证用户信息)。所述虹膜装置可以包括虹膜摄像头,所述虹膜摄像头可以获取虹膜信息,所述虹膜信息可以存储在存储器113中。

网络120可以包括通信网络。所述通信网络可以包括计算机网络(例如,局域网(lan,localareanetwork)或广域网(wan,wideareanetwork))、互联网和/或电话网络等,或几种的组合。网络120可以向网络环境系统100中的其他设备(例如,电子设备110、服务器130、电子设备140等)发送信息。

服务器130可以通过网络120连接网络环境系统100中的其他设备(例如,电子设备110、电子设备140等)。在一些实施例中,服务器130可以通过网络120与电子设备110进行数据传输等。例如,服务器130可以通过网络120向电子设备110发送文件加密的密钥等数据,电子设备110可以通过网络120向服务器130发送文件数据等。

电子设备140可以与电子设备110相同或不同的类型。根据本申请的一些实施例,在电子设备110中执行的部分或全部操作可以在另一设备或多个设备(例如,电子设备140和/或服务器130)中执行。在一些实施例中,当电子设备110自动或响应于请求执行一种或多种功能和/或服务时,电子设备110可以请求其他设备(例如,电子设备140和/或服务器130)替代执行功能和/或服务。在一些实施例中,电子设备110除执行功能或服务外,进一步执行与其相关的一种或多种功能。在一些实施例中,其他设备(例如,电子设备140和/或服务器130)可以执行所请求的功能或其它相关的一种或多种功能,可以将执行结果发送给电子设备110。电子设备110可以重复执行结果或进一步处理执行结果,以提供所请求的功能或服务。作为示例,电子设备110可以使用云计算、分布式技术和/或客户端-服务端计算计算等,或几种的组合。在一些实施例中,根据云计算服务性质的不同,所述云计算可以包括公有云、私有云和混合云等。例如,电子设备110可以与电子设备140进行数据传输,例如,电子设备140可以传输加密文件的密钥至电子设备110等。

需要说明的是,以上对于网络环境系统100的描述,仅为描述方便,并不能把本申请限制在所举实施例的范围之内。可以理解,对于本领域技术人员,基于本系统的原理,可能在不背离该原理的前提下,对各个元件进行任意组合,或者构成子系统与其他元件连接,对实施上述方法和系统的应用领域进行形式和细节上的各种修正和改变。例如,网络环境系统100可以进一步包括数据库等。又例如,电子设备110可以不包括物理键117等。诸如此类的变形,均在本申请的保护范围之内。

图2是根据本申请的一些实施例提供的电子设备功能配置的示例性单元框图。如图2所示,处理器112可以包括处理模块200,所述处理模块200可以包括获取单元210,确定单元220,处理单元230,控制单元240,计算单元250。

根据本申请的一些实施例,获取单元210可以获取数据。在一些实施例中,所述数据可以包括信息,所述信息可以包括但不限于文本、图像、音频、视频、动作、手势、声音、眼睛(例如,虹膜信息等)、气息、光等,或几种的组合。在一些实施例中,所述信息可以包括但不限于输入信息、系统信息和/或通信信息等。作为示例,获取单元210可以通过输入/输出模块114、显示器115的触摸屏、物理键117和/或传感器获取电子设备110的输入信息。所述输入信息可以包括其他设备(例如,电子设备140)和/或用户的输入,例如,按键输入、触控输入、手势输入、动作输入、远程输入、传输输入、眼睛输入、声音输入、气息输入、光输入等,或几种的组合。所述输入信息的获取部件可以包括但不限于红外设备、图像采集设备、传感器等,或几种的组合。作为示例,获取单元210可以获取文件加密的密钥等。又例如,获取单元210可以获取加密文件,和/或获取解密文件等。

在一些实施例中,获取单元210可以通过网络120获取通信信息。所述通信信息可以包括应用软件信息、通讯信号(例如,语音信号、视频信号等)、短消息等。在一些实施例中,获取单元210可以通过网络120、存储器113和/或传感器获取系统信息。所述系统信息可以包括但不限于电子设备110的系统状态、预设信息、存储器113存储的信息(例如,虹膜认证信息等)等,或几种的组合。

在一些实施例中,所述信息可以包括指令。所述指令包括用户指令和/或系统指令等,或几种的组合。所述指令可以包括触发指令、认证指令、填写指令等,或几种的组合。所述认证指令可以包括认证用户信息指令等。作为示例,当用户按下物理键(例如,快捷键等)时,电子设备110可以获取加密文件指令等。

根据本申请的一些实施例,确定单元220可以确定信息。在一些实施例中,确定单元220可以计算文件加密的字节间隔。又例如,确定单元220可以确定文件待加密的字节数目等。在一些实施例中,确定单元220可以判断原始文件的md5值(message-digestalgorithm5,信息-摘要算法5)与加密文件的md5值是否相同。又例如,确定单元220可以确定解密文件的md5值与原始文件的md5是否相同,以确定原始文件加密解密后是否被篡改或破坏。

根据本申请的一些实施例,处理单元230可以处理数据。在一些实施例中,处理单元230可以选取文件加密的密钥等。作为示例,处理单元230可以选取异或密钥用于文件加密。所述密钥可以通过系统设置或由用户自定义等。例如,处理单元230可以选取系统设置的8位二进制数值为异或密钥。所述异或密钥可以使用异或算法,所述异或算法可以为两个输入相同时输出0,不同时输出1。在一些实施例中,处理单元230可以变换文件加密的密钥;或调整文件加密的字节间隔等。

根据本申请的一些实施例,控制单元240可以控制文件加密。在一些实施例中,控制单元240可以根据所述密钥,加密原始文件的每一字节间隔的字节。作为示例,控制单元240可以加密确定单元220确定的文件待加密的字节。所述文件待加密的字节可以通过文件大小以及文件加密的字节间隔等计算得到。在一些实施例中,控制单元240可以根据所述密钥,解密所述文件的每一字节间隔的字节。

根据本申请的一些实施例,计算单元250可以计算数据。在一些实施例中,计算单元250可以以字节为单位计算文件大小。作为示例,若视频文件大小为100mb,计算单元250可以计算所述视频文件的字节大小为100*1024*1024=104857600。在一些实施例中,计算单元250可以根据原始文件的大小和文件待加密的字节数目,计算文件加密的字节间隔等。作为示例,当设置所述视频文件的待加密字节数目为1,即加密一个字节,计算单元250可以计算文件加密的字节间隔为104857599,即加密所述视频文件的最后一个字节。

需要说明的是,以上对于处理模块200中的单元描述,仅为描述方便,并不能把本申请限制在所举实施例的范围之内。可以理解,对于本领域技术人员,基于本系统的原理,可能在不背离该原理的前提下,对各个单元进行任意组合,或者构成子模块与其他单元连接,对实施上述模块和单元的功能进行形式和细节上的各种修正和改变。例如,处理模块200可以进一步包括存储单元,所述存储单元可以存储原始文件、文件加密的密钥等。诸如此类的变形,均在本申请的保护范围之内。

图3是根据本申请的一些实施例提供的文件加密方法的示例性流程图。如图3所示,流程300可以通过处理模块200实现。

在301,获取一种文件。操作301可以通过处理模块200的获取单元210实现。在一些实施例中,获取单元210可以通过输入/输出模块114获取文件数据。所述文件数据可以包括文字、图像、音视频等数据类型,或几种的组合。在一些实施例中,获取单元210可以获取所述文件大小,所述文件大小以字节为单位计算。作为示例,获取单元210可以通过网络120等获取视频文件。

在302,计算文件加密的字节间隔。操作302可以通过处理模块200的确定单元220和计算单元250实现。在一些实施例中,确定单元220可以确定文件待加密的字节数目,计算单元250可以根据获取单元210获取的文件大小,以及待加密的字节数目,计算文件加密的字节间隔。作为示例,确定单元220可以确定文件待加密的字节数目为1个字节,所述视频文件大小为104857600字节,计算单元250可以计算所述文件加密的字节间隔为104857599,即加密所述视频文件的最后一个字节。

在303,选取文件加密的密钥。操作303可以通过处理模块200的处理单元230实现。在一些实施例中,处理单元230可以选取文件加密的密钥,所述密钥可以包括异或密钥,所述密钥可以通过系统设置或由用户自定义。作为示例,处理单元230可以选取8位二进制数值为异或密钥。例如,处理单元230可以选取key(0x1f)为异或密钥,换算为二进制为00011111。所述异或密钥key(0x1f)可以利用异或算法实现文件加密,所述异或算法可以为两个输入相同时输出0,不同时输出1。

在304,根据所述密钥,加密所述文件的每一字节间隔的字节。操作304可以通过处理模块200的控制单元240实现。在一些实施例中,控制单元240可以根据所述密钥,加密所述文件的每一字节间隔的字节。作为示例,控制单元240可以根据所述异或密钥key(0x1f)加密所述视频文件的最后一个字节。例如,所述视频文件的最后一个字节为0x08(二进制00001000),经过异或密钥key(0x1f)加密后,得到加密字节0x17(二进制00010111)。

根据本申请的一些实施例,流程300可以进一步包括获取加密文件。作为示例,获取单元210可以获取加密视频文件,确定单元220可以判断所述视频文件的md5值和加密视频文件的md5值是否相同。在一些实施例中,若md5值不同,控制单元240可以输出所述加密视频文件;若md5值相同,处理单元230可以变换文件加密的密钥;或调整文件加密的字节间隔等。

根据本申请的一些实施例,流程300可以进一步包括获取解密文件。在一些实施例中,控制单元240可以根据所述密钥,解密所述文件的每一字节间隔的字节。作为示例,控制单元240可以根据所述异或密钥key(0x1f),解密所述加密视频文件的最后一个字节0x17(二进制00010111),得到解密字节0x08(二进制00001000),输出解密视频文件。在一些实施例中,获取单元210可以获取解密文件,确定单元220可以确定所述解密视频文件的md5值与所述视频文件的md5值相同。

需要说明的是,以上对于流程300的描述,仅为描述方便,并不能把本申请限制在所举实施例的范围之内。可以理解,对于本领域技术人员,基于本系统的原理,可能在不背离该原理的前提下,对各个操作进行任意组合,或者构成子流程与其它操作组合,对实施上述流程和操作的功能进行形式和细节上的各种修正和改变。例如,流程300可以进一步包括获取加密文件、获取解密文件等操作。诸如此类的变形,均在本申请的保护范围之内。

综上所述,根据本申请实施例的文件加密方法及系统,利用密钥对文件的每一字节间隔的字节进行加密,以保障用户的个人文件的安全性,并提高了文件加密的效率,实现高效加密文件。

需要注意的是,上述的实施例仅仅是用作示例,本申请不限于这样的示例,而是可以进行各种变化。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存储器(randomaccessmemory,ram)等。

以上所揭露的仅为本申请一些优选的实施例,不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1