CN109446758B - 一种数据处理方法、终端及计算机可读介质 - Google Patents
一种数据处理方法、终端及计算机可读介质 Download PDFInfo
- Publication number
- CN109446758B CN109446758B CN201811085034.XA CN201811085034A CN109446758B CN 109446758 B CN109446758 B CN 109446758B CN 201811085034 A CN201811085034 A CN 201811085034A CN 109446758 B CN109446758 B CN 109446758B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- shift
- storage
- storage address
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000003860 storage Methods 0.000 claims abstract description 237
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000009466 transformation Effects 0.000 claims description 32
- 125000004122 cyclic group Chemical group 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 230000009467 reduction Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 31
- 238000006243 chemical reaction Methods 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000005336 cracking Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 102100022142 Achaete-scute homolog 1 Human genes 0.000 description 2
- 101000901099 Homo sapiens Achaete-scute homolog 1 Proteins 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 241000282414 Homo sapiens Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种数据处理方法、终端及计算机可读介质,其中方法包括:根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,第一存储地址的长度和第二存储地址的长度均为K个比特;第一存储地址的地址编号包括IM、…、IN,第二存储地址的地址编号包括IA、…、IB,IM不等于IA,或,IN不等于IB;K为大于等于2的正整数;将第一数据写入第二存储地址对应的存储区域。实施本申请,可以提高存储空间中保存的数据的安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据处理方法、终端及计算机可读介质。
背景技术
随着互联网技术的高速发展,给人类的生产生活带来了翻天覆地的变化,与此同时,人们的信息也面临着越来越多的黑客(HACK)威胁。以游戏为例,在互联网所提供的便利下,越来越多样化的游戏如雨后春笋般的涌现出来,游戏爱好者可以在诸多游戏中自由、畅快的追求极致体验。
通常情况下,游戏爱好者的游戏数据(例如,游戏数据包括游戏关键数据) 保存在游戏客户端软件的存储空间中,现有技术中,由于缺乏有效的游戏关键数据的加密方法,导致黑客HACK可以获取到存储空间中保存的游戏关键数据,从而可以破解游戏,例如,上述游戏关键数据可以包括游戏中的金钱数量、生命值等。而对游戏关键数据的不合理修改,容易缩短游戏应用程序的寿命,从而导致游戏运营商的营收减少。如何对存储空间中保存的关键数据进行加密是亟需解决的技术问题。
发明内容
本发明实施例提供一种数据处理方法、终端及计算机可读存储介质,可提高存储空间中保存的数据的安全性。
第一方面,本发明实施例提供了一种数据处理方法,该方法包括:
根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,所述IM不等于所述IA,或,所述IN不等于所述IB;所述K为大于等于2的正整数;
将所述第一数据写入所述第二存储地址对应的存储区域。
可选的,所述第一数据包括W个比特位,所述W为大于等于2的正整数;
所述将所述第一数据写入所述第二存储地址对应的存储区域之前,还包括:
根据第二移位方向和第二移位位数Q对第二数据的W个比特位进行循环移位,生成所述第一数据;其中,所述Q为正整数。
可选的,所述第一数据包括Z个字节,所述Z为大于等于2的正整数;
所述将所述第一数据写入所述第二存储地址对应的存储区域之前,还包括:
根据第二移位方向和第二移位位数O对所述第二数据的Z个字节进行循环移位,生成所述第一数据;其中,所述O为正整数。
可选的,所述将所述第一数据写入所述第二存储地址对应的存储区域之后,还包括:
对所述第一数据进行哈希变换,获得第一哈希值。
可选的,所述对所述第一数据进行哈希变换,获得第一哈希值之后,还包括:
接收读取所述第一数据的请求;
在所述第二存储地址对应的存储区域中获取所述第一数据,并对所述第一数据进行所述哈希变换,得到第二哈希值;
若所述第一哈希值与所述第二哈希值相等,则输出所述第一数据。
可选的,所述将所述第一数据写入所述第二存储地址对应的存储区域之后,还包括:
对所述第二数据进行哈希变换,获得第三哈希值。
可选的,所述对所述第二数据进行哈希变换,获得第三哈希值之后,还包括:
接收读取所述第二数据的请求;
在所述第二存储地址对应的存储区域中获取所述第一数据,并根据所述第二移位方向和第二移位位数Q对所述第一数据进行移位还原,生成所述第二数据;
对所述第二数据进行所述哈希变换,获得第四哈希值;
若所述第三哈希值与所述第四哈希值相等,则输出所述第二数据。
通过实施本发明实施例,根据第一移动方向、第一移动位数对第一数据原本应该存储的第一存储地址进行移位,以得到第二存储地址,之后,将第一数据写入第二存储地址对应的存储空间中,避免恶意的第三方程序破解第一数据真正存储的第二存储地址,可以有效的保护存储空间中的数据,提高数据的安全性。
第二方面,本发明实施例提供了一种终端,该终端包括:
计算单元,用于根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、 IN,所述第二存储地址的地址编号包括IA、…、IB,所述IM不等于所述IA,或,所述IN不等于所述IB;所述K为大于等于2的正整数;
写入单元,用于将所述第一数据写入所述第二存储地址对应的存储区域。
可选的,所述第一数据包括W个比特位,所述W为大于等于2的正整数;所述终端还包括:第一循环移位单元;
所述第一循环移位单元,用于在所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之前,根据第二移位方向和第二移位位数Q对第二数据的W个比特位进行循环移位,生成所述第一数据;其中,所述Q为正整数。
可选的,所述第一数据包括Z个字节,所述Z为大于等于2的正整数;
所述终端还包括:第二循环移位单元;
所述第二循环移位单元,用于所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之前,根据第二移位方向和第二移位位数O对所述第二数据的Z个字节进行循环移位,生成所述第一数据;其中,所述O为正整数。
可选的,所述终端还包括:第一哈希变换单元;
所述第一哈希变换单元,用于所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之后,对所述第一数据进行哈希变换,获得第一哈希值。
可选的,所述终端还包括:第一接收单元、第一获取单元、第二哈希变换单元、第一输出单元;
其中,所述第一接收单元,用于在所述第一哈希变换单元对所述第一数据进行哈希变换,获得第一哈希值之后,接收读取所述第一数据的请求;
所述第一获取单元,用于在所述第二存储地址对应的存储区域中获取所述第一数据;
所述第二哈希变换单元,用于对所述第一数据进行所述哈希变换,得到第二哈希值;
所述输出单元,用于在所述第一哈希值与所述第二哈希值相等,输出所述第一数据;
可选的,所述终端还包括:第三哈希变换单元;
所述第三哈希变换单元,用于在所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之后,对所述第二数据进行哈希变换,获得第三哈希值;
可选的,所述终端还包括:第二接收单元、第二获取单元、移位还原单元、第四哈希变换单元、第二输出单元;
其中,所述第二接收单元,用于在所述第三哈希变换单元对所述第二数据进行哈希变换,获得第三哈希值之后,接收读取所述第二数据的请求;
第二获取单元,用于在所述第二存储地址对应的存储区域中国获取所述第一数据;
所述移位还原单元,用于根据所述第二移位方向和第二移位位数Q对所述第一数据进行移位还原,生成所述第二数据;
所述第四哈希变换单元,用于对所述第二数据进行所述哈希变换,获得第四哈希值;
所述输出单元,用于在所述第三哈希值与所述第四哈希值相等的情况下,输出所述第二数据。
第三方面,本发明实施例提供了另一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
第五方面,本发明实施例提供了一种计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
通过实施本发明实施例,第一数据可以包括原始数据,也可以包括使用加密算法进行加密得到的加密数据,终端可以根据第一移动方向、第一移动位数对第一数据原本应该存储的第一存储地址进行移位,以得到第二存储地址,之后,将第一数据写入第二存储地址对应的存储空间中,避免恶意的第三方程序破解第一数据真正存储的第二存储地址,可以有效的保护存储空间中的数据,提高数据的安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1A是本发明实施例提供的一种数据处理方法的示意流程图;
图1B是本发明实施例提供的一种对第一存储地址的地址编号向右移动一位计算得到的第二存储地址的地址编号示意图;
图1C本发明实施例提供的是一种对第一存储地址的地址编号向左移动两位计算得到的第二存储地址的地址编号示意图;
图1D是本发明实施例提供的一种第二存储地址对应的存储空间中存储的第一数据的示意图;
图2A是本发明另一实施例提供的一种数据处理方法的示意流程图;
图2B是本发明实施例提供的一种对第二数据进行移位加密的示意图;
图2C是本发明另一实施例提供的一种对第二数据进行移位加密的示意图;
图3A是本发明另一实施例提供的一种数据处理方法的示意流程图;
图3B是本发明实施例提供的一种对第二数据进行移位加密的示意图;
图3C是本发明另一实施例提供的一种对第二数据进行移位加密的示意图;
图4A是本发明另一实施例提供的一种数据处理方法的示意流程图;
图4B是本发明实施例提供的一种第二数据的字节分布的示意图;
图4C是本发明实施例提供的一种第一字节数据和第二字节数据的位置示意图;
图4D是本发明实施例提供的另一种第一字节数据和第二字节数据的位置示意图;
图4E是本发明实施例提供的一种第一字节数据、第二字节数据和第三字节数据的位置示意图;
图4F是本发明实施例提供的另一种第一字节数据、第二字节数据和第三字节数据的位置示意图;
图4G是本发明实施例提供的另一种第一字节数据、第二字节数据和第三字节数据的位置示意图;
图4H是本发明实施例提供的另一种第一字节数据、第二字节数据和第三字节数据的位置示意图;
图4I是本发明实施例提供的另一种第一字节数据、第二字节数据和第三字节数据的位置示意图;
图4J是本发明实施例提供的另一种第一字节数据、第二字节数据和第三字节数据的位置示意图;
图5是本发明另一实施例提供的一种数据处理方法的流程示意图;
图6是本发明另一实施例提供的一种数据处理方法的流程示意图;
图7是本发明实施例提供的一种终端的示意性框图;
图8是本发明另一实施例提供的一种终端示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
下面结合图1A所示的本发明实施例提供的数据处理方法的流程示意图,具体说明本发明实施例是如何对数据进行处理的(例如,对数据进行处理可以包括对数据进行加密),如图1A所示,方法可包括如下步骤S101-S102。
步骤S101、根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,所述IM不等于所述IA,或,所述IN不等于所述IB;所述K为大于等于2的正整数。
具体实现中,第一数据的长度可以为K个比特,其中,K为大于等于2的正整数。
具体实现中,第一数据对应的第一存储地址是指按照中央处理器CPU(CPU,Central Processing Unit)的存储策略,第一数据原本应该存储的地址。这里所涉及的存储策略可以为终端预先设置的,也可以是终端根据用户需求设置的,本发明实施例不作具体限定。例如,按照CPU的存储策略,第一数据原本应该存储的第一存储地址可以包括:将第一数据与待存储第一数据的存储空间的大小进行取模计算得到,具体地计算公式可以如公式(1)所示:
add=a%b (1)
如公式(1)所示,add表示第一存储地址,a表示第一数据,b表示待存储第一数据的存储空间的大小。
例如,在按照上述策略进行确定第一数据原本应该存储的第一存储地址的过程中,若将第一数据与待存储第一数据的存储空间的大小进行取模计算得到的数值为1,则数值1对应的存储地址为CPU的存储策略所确定的第一数据可以存储的第一存储地址。
可选的,若数值为1对应的存储地址中已经存储有数据的情况下,则判断与数值为1对应的存储地址相邻的存储地址(即数值2对应的存储地址)中是否已经存储有数据,若没有存储数据,则数值2对应的存储地址为CPU的存储策略所确定的第一数据可以存储的第一存储地址。
具体实现中,在存储空间呈水平排列或横向排列的情况下,第一移位方向可以包括向左移动,也可以包括向右移动,本发明不作具体限定。
具体实现中,第一移位位数P可以包括大于等于1的正整数,例如,移位位数可以包括1,也可以包括2,等等。
具体实现中,第一数据的长度可以包括K个比特,此时,第一数据对应的第一存储地址的长度也可以为K个比特,具体地,第一存储地址的地址编号可以包括IM、…、IN。例如,实际应用中,第一数据的长度可以为32个比特,那么,第一数据对应的第一存储地址的长度可以为32个比特。对第一存储地址根据第一移动方向、第一移动位数进行移位后,计算得到的第二存储地址可以包括IA、…、IB。其中,IM≠IA,或,IN≠IB。
例如,可以参见图1B,第一存储地址的长度为16个比特位,第一存储地址的地址编号为I1、I2、…、I16,终端根据第一移位方向(例如,向右移动)、第一移位位数(例如,P=1)对第一存储地址进行移位操作,可以计算得到第二存储地址。具体地,将第一数据对应的第一存储地址向右移动一位,计算得到的第二存储地址为I2、I3、…、I17。
又例如,参见图1C,第一存储地址的长度为8个比特位,第一存储地址的地址编号为I9、I10、…、I16,终端根据第一移位方向(例如,向左移动)、第一移位位数(例如,P=2)对第一存储地址进行移位操作,可以计算得到第二存储地址。具体地,将第一数据对应的第一存储地址向左移动两位,计算得到的第二存储地址为I7、I8、…、I14。
步骤S102、将第一数据写入第二存储地址对应的存储区域。
例如,第一数据为00000001,第一存储地址的地址编号包括I9、I10、…、I16,对第一存储地址向左移动两位所确定的第二存储地址的地址编号包括I7、I8、…、 I14。终端将第一数据写入第二存储地址对应的存储区域。具体地,第二存储地址对应的存储区域中存储的第一数据可以参见图1D。
本发明实施例中,第一数据可以包括未加密的数据,也可以包括通过加密算法进行加密后的数据。
可以理解的是,从上述实施例中可以知道,终端会对第一数据原本应该存储的第一存储地址进行移位操作,以计算得到第二存储地址,继而在确定第二存储地址之后,将第一数据写入第二存储地址对应的存储空间中。对恶意的第三方程序(例如,HACK)来说,HACK想要获取第一数据时,破解第一数据原本应该存储的第一存储地址,继而,从第一存储地址对应的存储空间中获取第一数据,在这种情况下,由于在本申请中,第一数据实际存储在第二存储地址对应的存储空间中,致使HACK并没有获取到真正的第一数据,也即HACK无法破解第一数据真正存储的第二存储地址,从而实现了对数据的保护。
通过实施本发明实施例,第一数据可以包括原始数据,根据第一移动方向、第一移动位数对第一数据原本应该存储的第一存储地址进行移位,以得到第二存储地址,之后,将第一数据写入第二存储地址对应的存储空间中,避免恶意的第三方程序破解第一数据真正存储的第二存储地址,可以有效的保护存储空间中的数据,提高数据的安全性。
下面结合图2A所示的本发明另一实施例提供的数据处理方法的流程示意图,具体说明本发明实施例是如何对数据进行处理的(例如,对数据进行处理可以包括对数据进行加密),如图2A所示,方法可包括如下步骤S201-S203。在本发明实施例中,第二数据为加密前的原始数据,第一数据为使用加密算法(包括但不限于移位算法)对第二数据进行加密得到的数据。这里所涉及的移位算法是指根据方向、移位位数对第二数据进行移位处理。在对第二数据进行移位加密的过程中,以比特为移动单位进行加密。
步骤S201、根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,IM≠IA,或,IN≠IB;所述K为大于等于2的正整数。
具体地,步骤S201可以参考上述图1A实施例中步骤S101的相关描述,此处不多加赘述。
步骤S202、根据第二移位方向和第二移位位数Q对第二数据的W个比特位进行循环移位,生成所述第一数据;其中,所述Q为正整数。
具体实现中,所述第一数据包括W个比特位,所述W为大于等于2的正整数。例如,第一数据可以包括4个比特位。可以理解的是,第二数据也可以包括W个比特位。
具体实现中,在第二数据及第二数据对应的存储空间呈水平排列或横向排列的情况下,第二移位方向可以包括向右移动,也可以包括向左移动,本发明实施例不作具体限定。
具体实现中,第二移位位数Q可以包括大于等于1的正整数,例如,移位位数可以包括1,也可以包括2,等等。
例如,第二数据可以为1010,可以理解的是,第二数据可以包括4个比特位。终端根据第二移动方向(例如,向右移动)、第二移位位数(例如,Q=1) 对第二数据的比特位进行循环移动,可以得到第一数据。具体实现中,将第二数据的比特位向右循环移动一位,得到第一数据的实现过程可以参见图2B,如图2B所示,将第二数据的比特位向右循环移动一位所得到第一数据为0101。
又例如,第二数据可以为0001,可以理解的是,第二数据可以包括4个比特位。终端根据第二移动方向(例如,向左移动)、第二移位位数(例如,Q=1) 对第二数据的比特位进行循环移动,可以得到第一数据。具体实现中,将第二数据的比特位向左循环移动一位,得到第一数据的实现过程可以参见图2C,如图2C所示,将第二数据的比特位向左循环移动一位所得到第一数据为0010。
步骤S203、将第一数据写入第二存储地址对应的存储区域。
具体地,步骤S203可以参考上述图1A实施例中步骤S102的相关描述,此处不多加赘述。
通过实施本发明实施例,终端在对第二数据进行移位加密的过程中,以比特位为移动单位对第二数据进行加密,以得到第一数据,之后,根据第一移动方向、第一移动位数对第一数据原本应该存储的第一存储地址进行移位,以得到第二存储地址,之后,将第一数据写入第二存储地址对应的存储空间中,避免恶意的第三方程序破解第一数据真正存储的第二存储地址,可以有效的保护存储空间中的数据,提高数据的安全性。
下面结合图3A所示的本发明另一实施例提供的数据处理方法的流程示意图,具体说明本发明实施例是如何对数据进行处理的(例如,对数据进行处理可以包括对数据进行加密),如图3A所示,方法可包括如下步骤S301-S303。在本发明实施例中,第二数据为加密前的原始数据,第一数据为使用加密算法(包括但不限于移位算法)对第二数据进行加密得到的数据。这里所涉及的移位算法是指根据方向、移位位数对第二数据进行移位处理。在对第二数据进行移位加密的过程中,以字节为移动单位进行加密。可以理解的是,一个字节为8个比特位。
步骤S301、根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,IM≠IA,或,IN≠IB;所述K为大于等于2的正整数。
具体地,步骤S301可以参考上述图1A实施例中步骤S101的相关描述,此处不多加赘述。
步骤S302、根据第二移位方向和第二移位位数O对所述第二数据的Z个字节进行循环移位,生成所述第一数据;其中,O为正整数。
具体实现中,所述第一数据包括Z个字节,所述Z为大于等于2的正整数。例如,第一数据包括2个字节。可以理解的是,第二数据也包括Z个字节。
如前所述,具体实现中,在第二数据及第二数据对应的存储空间呈水平排列或横向排列的情况下,第二移位方向可以包括向右移动,也可以包括向左移动,本发明实施例不作具体限定。
具体实现中,第二移位位数O可以包括大于等于1的正整数,例如,移位位数可以包括1,也可以包括2,等等。
例如,第二数据可以为1010100010101001,可以理解的是,第二数据可以包括2个字节。终端根据第二移动方向(例如,向右移动)、第二移位位数(例如,O=1,也即移位位数为一个字节,可以理解为移位位数为8个比特位)对第二数据的字节进行循环移动,可以得到第一数据。具体实现中,将第二数据的字节向右循环移动一个字节,得到第一数据的实现过程可以参见图3B,如图3B 所示,将第二数据的字节向右循环移动一个字节所得到第一数据为 1010100110101000。
例如,第二数据可以为101010001010100110000000,可以理解的是,第二数据可以包括3个字节。终端根据第二移动方向(例如,向右移动)、第二移位位数(例如,O=2,也即移位位数为两个字节,可以理解为移位位数为16个比特位)对第二数据的字节进行循环移动,可以得到第一数据。具体实现中,将第二数据的字节向右循环移动两个字节,得到第一数据的实现过程可以参见图 2C,如图2C所示,将第二数据的字节向右循环移动两个字节所得到第一数据为 101010011000000010101000。
步骤S303、将第一数据写入第二存储地址对应的存储区域。
具体地,步骤S303可以参考上述图1A实施例中步骤S102的相关描述,此处不多加赘述。
通过实施本发明实施例,终端在对第二数据进行移位加密的过程中,以字节为移动单位对第二数据进行加密,以得到第一数据,之后,根据第一移动方向、第一移动位数对第一数据原本应该存储的第一存储地址进行移位,以得到第二存储地址,之后,将第一数据写入第二存储地址对应的存储空间中,避免恶意的第三方程序破解第一数据真正存储的第二存储地址,可以有效的保护存储空间中的数据,提高数据的安全性。
下面结合图4A所示的本发明另一实施例提供的数据处理方法的流程示意图,具体说明本发明实施例是如何对数据进行处理的(例如,对数据进行处理可以包括对数据进行加密),如图4A所示,方法可包括如下步骤S401-S404。在本发明实施例中,第二数据为加密前的原始数据,第一数据为使用加密算法(包括但不限于位置互换加密算法)对第二数据进行加密得到的数据。这里所涉及的位置互换加密算法是指将第二数据进行拆分得到的字节数据的位置进行互换。
步骤S401、根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,IM≠IA,或,IN≠IB;所述K为大于等于2的正整数。
具体地,步骤S401可以参考上述图1A实施例中步骤S101的相关描述,此处不多加赘述。
步骤S402、根据预设的位置互换算法对所述第二数据的R个字节数据进行位置互换,生成所述第一数据。
具体实现中,所述第一数据可以包括R个字节,所述R可以为大于等于2 的正整数。例如,第一数据包括2个字节。可以理解的是,第二数据也可以包括R个字节
例如,终端可以对第二数据进行拆分,以拆分成相互独立的至少两个字节数据。其中,至少两个字节数据可以包括两个字节数据、三个字节数据等。
例如,第二数据可以为4字节的整形数据,具体可以分为最高字节、次高字节、次低字节、最低字节。在实际应用中,上述每个字节包括8个比特位。具体地,可以参见图4B,如图4B所示,第二数据包括4个字节,也即32个比特位,包括比特位1、比特为2、…、比特位32。可以理解的是,若第二数据对应的存储地址编号包括I1、…、I32,终端将第二数据写入上述存储地址编号时,第二数据的比特位1写入存储地址编号I1,第二数据的比特位2写入存储地址编号I2。在实际应用中,1-32实际表征的不是存储位置,也不是比特位的数值,而是第一数据包含的32个比特位中的第L个比特,第L个比特中的每个比特对应的具体数值可以是0、1,本发明实施例不作具体限定。
例如,至少两个字节数据可以包括两个字节数据。例如,上述两个字节数据包括第一字节数据和第二字节数据。具体地,第一字节数据与第二字节数据之间的位置关系可以参见图4C,如图4C所示,第二字节数据的位置在第一字节数据之后。此时,根据预设的位置互换算法,对上述至少两个字节数据的位置进行互换可以包括:将第一字节数据的位置与第二字节数据的位置进行互换,以生成第一数据。具体地,位置互换后的第一字节数据与第二字节数据之间的位置关系可以参见图4D,如图4D所示,第一字节数据的位置在第二字节数据之后。
例如,至少两个字节数据可以包括三个字节数据。例如,上述三个字节数据包括第一字节数据、第二字节数据和第三字节数据。具体地,上述三个字节数据之间的位置关系可以参见图4E,如图4E所示,第二字节数据的位置在第一字节数据之后,第三字节数据的位置在第二字节数据之后,此时,根据预设的位置互换算法,对上述至少两个字节数据的位置互换可以包括以下情形:
情形1、将所述第一字节数据的位置保持不变,将第二字节数据的位置与第三字节数据的位置进行互换,以生成第一数据。具体地,位置互换后的三个字节数据之间的位置关系可以参见图4F,如图4F所示,第三字节数据在第一字节数据之后,第二字节数据在第一字节数据之后。
情形2、将所述第二字节数据的位置保持不变,将所述第一字节数据的位置与所述第三字节数据的位置进行互换,以生成所述第一数据。具体地,位置互换后的三个字节数据之间的位置关系可以参见图4G,如图4G所示,第二字节数据的位置在第三字节数据之后,第一字节数据的位置在第二字节数据之后。
情形3、将所述第三字节数据的位置保持不变,将所述第一字节数据的位置与所述第二字节数据的位置进行互换,以生成所述第一数据。具体地,位置互换后的三个字节数据之间的位置关系可以参见图4H,如图4H所示,第一字节数据的位置在第二字节数据之后,第三字节数据的位置在第二字节数据之后。
情形4、互换后的位置包括:所述第一字节数据的位置在所述第三字节数据的位置之后,所述第二字节数据的位置在所述第一字节数据的位置之后。具体地,位置互换后的三个字节数据之间的位置关系可以参见图4I。
情形5、互换后的位置包括:所述第三字节数据的位置在所述第二字节数据的位置之后,所述第一字节数据的位置在所述第三字节数据的位置之后。具体地,位置互换后的三个字节数据之间的位置关系可以参见图4J。
需要说明的是,第二数据经过拆分操作之后的结果包括但不限于上述示例中的表现形式,还可以包括其它的形式,例如,第二原始数据经过拆分操作之后,可以拆分成4个相互独立的字节数据,那么,在这种情况下,对第二数据进行位置互换的表现形式则更加多样化,本发明实施例不再一一描述。
步骤S403、将第一数据写入第二存储地址对应的存储区域。
具体地,步骤S403可以参考上述图1A实施例中步骤S102的相关描述,此处不多加赘述。
通过实施本发明实施例,终端可以采用预设的位置互换算法对第二数据加密,以得到第一数据,之后,根据第一移动方向、第一移动位数对第一数据原本应该存储的第一存储地址进行移位,以得到第二存储地址,之后,将第一数据写入第二存储地址中,避免恶意的第三方程序破解第一数据真正存储的第二存储地址,可以有效的保护存储空间中的数据,提高数据的安全性。
下面结合图5所示的本发明另一实施例提供的数据处理方法的流程示意图,具体说明本发明实施例在将第一数据写入第二存储地址对应的存储区域之后,是如何对数据进行解密及如何判断数据是否被修改的。如图5所示,方法可包括如下步骤S501-S505。在本发明实施例中,第一数据为原始数据,即没有使用加密算法进行加密的数据。
步骤S501、对第一数据进行哈希变换,获得第一哈希值。
例如,这里所涉及的哈希变换可以包括MD4(MD,Message Digest)、MD5、 HASH1等,本发明实施例不作具体限定。
具体实现中,终端对第一数据进行哈希变换,获得第一哈希值时,可以将第一哈希值进行保存。
步骤S502、接收读取所述第一数据的请求。
步骤S503、在所述第二存储地址对应的存储区域中获取所述第一数据,并对所述第一数据进行所述哈希变换,得到第二哈希值。
步骤S504、判断所述第一哈希值与所述第二哈希值是否相等,若是,则执行步骤S505。
步骤S505、输出所述第一数据。
例如,若所述第一数据包括数字,终端输出所述第一数据可以包括:终端以预设的显示方式显示所述第一数据,具体地,终端以突出的显示方式进行显示所述第一数据。该突出显示方式具体可以为:增大显示、增加边框显示、预设颜色显示和预设图形显示中的至少一种。将第一数据进行突出显示,可以帮助用户快速获知第一数据。可以理解的是,终端可以根据第一数据的表现形态来确定第一数据的输出形式,本发明实施例不作具体限定。例如,第一数据为图片、文字时,也可以以突出的显示方式进行显示。又力图,第一数据为音乐时,终端可以播放第一数据。
通过实施本发明实施例,终端可以对第一数据进行哈希变换,获得哈希值并进行保存。在接收到读取第一数据的请求时,在第二存储地址对应的存储区域中获取第一数据,并对获取到的第一数据进行哈希变换,并通过判断两次哈希值是否相等来判断存储空间中的数据是否有被修改,若相同,说明数据未被恶意修改,则输出第一数据;若不相同,说明数据已被恶意修改,则终端可以拒绝读取第一数据的请求。
下面结合图6所示的本发明另一实施例提供的数据处理方法的流程示意图,具体说明本发明实施例在将第一数据写入第二存储地址对应的存储区域之后,是如何对数据进行解密及如何判断数据是否被修改的。如图6所示,方法可包括如下步骤S601-S606。在本发明实施例中,第二数据为加密前的原始数据,第一数据为使用加密算法对第二数据进行加密得到的数据。
步骤S601、对所述第二数据进行哈希变换,获得第三哈希值。
例如,这里所涉及的哈希变换可以包括MD4(MD,Message Digest)、MD5、 HASH1等,本发明实施例不作具体限定。
具体实现中,终端对第二数据进行哈希变换,获得第一哈希值时,可以将第一哈希值进行保存。
步骤S602、接收读取所述第二数据的请求。
步骤S603、在所述第二存储地址对应的存储区域中获取所述第一数据,并根据所述第二移位方向和第二移位位数Q对所述第一数据进行移位还原,生成所述第二数据。
例如,在对数据进行加密的过程中,第二数据为0001,终端将第二数据的比特位向左循环移动一位所得到第一数据为0010。在对数据进行解密的过程中,对上述向左循环移位加密操作执行逆操作,以得到第二数据0001。
步骤S604、对所述第二数据进行所述哈希变换,获得第四哈希值。
步骤S605、判断所述第三哈希值是否与所述第四哈希值相等,若是,则执行步骤S606。
S606、输出所述第二数据。
例如,若所述第一数据包括数字,终端输出所述第一数据可以包括:终端以预设的显示方式显示所述第一数据,具体地,终端以突出的显示方式进行显示所述第一数据。该突出显示方式具体可以为:增大显示、增加边框显示、预设颜色显示和预设图形显示中的至少一种。将第一数据进行突出显示,可以帮助用户快速获知第一数据。可以理解的是,终端可以根据第一数据的表现形态来确定第一数据的输出形式,本发明实施例不作具体限定。例如,第一数据为图片、文字时,也可以以突出的显示方式进行显示。又例如,第一数据为音乐时,终端可以播放第一数据,等等。
通过实施本发明实施例,终端可以对第二数据进行哈希变换,获得哈希值并进行保存。在接收到读取第二数据的请求时,在第二存储地址对应的存储区域中获取第一数据,根据第二移位方向和第二移位位数Q对第一数据进行移位还原,生成所述第二数据,之后,第二数据进行哈希变换,并通过判断两次哈希值是否相等来判断存储空间中的数据是否有被修改,若相同,说明数据未被恶意修改,则输出第二数据;若不相同,说明数据已被恶意修改,则终端可以拒绝读取第二数据的请求。
为了便于更好地实施本发明实施例的上述方案,本发明实施例还提供了一种终端,该终端用于执行前述任一项所述的方法的单元。具体地,参见图7,是本发明实施例提供的一种终端700的示意框图。本实施例的终端700包括:计算单元701和写入单元702。
所述计算单元701,用于根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括 IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,所述IM不等于所述IA,或,所述IN不等于所述IB;所述K为大于等于2的正整数;
所述写入单元702,用于将所述第一数据写入所述第二存储地址对应的存储区域。
可选的,所述第一数据包括W个比特位,所述W为大于等于2的正整数;所述终端700还包括:第一循环移位单元;
所述第一循环移位单元,用于在所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之前,根据第二移位方向和第二移位位数Q对第二数据的W个比特位进行循环移位,生成所述第一数据;其中,所述Q为正整数。
可选的,所述第一数据包括Z个字节,所述Z为大于等于2的正整数;
所述终端700还包括:第二循环移位单元;
所述第二循环移位单元,用于所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之前,根据第二移位方向和第二移位位数O对所述第二数据的Z个字节进行循环移位,生成所述第一数据;其中,O为正整数。
可选的,所述终端700还包括:第一哈希变换单元;
所述第一哈希变换单元,用于所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之后,对所述第一数据进行哈希变换,获得第一哈希值。
可选的,所述终端700还包括:第一接收单元、第一获取单元、第二哈希变换单元、第一输出单元;
其中,所述第一接收单元,用于在所述第一哈希变换单元对所述第一数据进行哈希变换,获得第一哈希值之后,接收读取所述第一数据的请求;
所述第一获取单元,用于在所述第二存储地址对应的存储区域中获取所述第一数据;
所述第二哈希变换单元,用于对所述第一数据进行所述哈希变换,得到第二哈希值;
所述输出单元,用于在所述第一哈希值与所述第二哈希值相等,输出所述第一数据。
可选的,所述终端700还包括:第三哈希变换单元;
所述第三哈希变换单元,用于在所述写入单元将所述第一数据写入所述第二存储地址对应的存储区域之后,对所述第二数据进行哈希变换,获得第三哈希值。
可选的,所述终端700还包括:第二接收单元、第二获取单元、移位还原单元、第四哈希变换单元、第二输出单元;
其中,所述第二接收单元,用于在所述第三哈希变换单元对所述第二数据进行哈希变换,获得第三哈希值之后,接收读取所述第二数据的请求;
第二获取单元,用于在所述第二存储地址对应的存储区域中国获取所述第一数据;
所述移位还原单元,用于根据所述第二移位方向和第二移位位数Q对所述第一数据进行移位还原,生成所述第二数据;
所述第四哈希变换单元,用于对所述第二数据进行所述哈希变换,获得第四哈希值;
所述输出单元,用于在所述第三哈希值与所述第四哈希值相等的情况下,输出所述第二数据。
通过实施本发明实施例,根据第一移动方向、第一移动位数对第一数据原本应该存储的第一存储地址进行移位,以得到第二存储地址,之后,将第一数据写入第二存储地址对应的存储空间中,避免恶意的第三方程序破解第一数据真正存储的第二存储地址,可以有效的保护存储空间中的数据,提高数据的安全性。
为了便于更好地实施本发明实施例的上述方案,本发明还对应提供了另一种终端的结构示意图,下面结合附图来进行详细说明:
如图8示出的本发明实施例提供的另一种终端的结构示意图,该终端800 可以包括至少一个处理器801,通信总线802,存储器803以及至少一个通信接口804。
处理器801可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线802可包括一通路,在上述组件之间传送信息。所述通信接口804,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RadioAccess Technology,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器803可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory, EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器803用于存储执行本发明方案的程序代码,并由处理器 801来控制执行。所述处理器801用于执行所述存储器803中存储的程序代码,执行以下步骤:
根据第一移位方向、第一移位位数P以及第一数据对应的第一存储地址计算得到第二存储地址;其中,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,所述IM不等于所述IA,或,所述IN不等于所述IB;所述K为大于等于2的正整数;
将所述第一数据写入所述第二存储地址对应的存储区域。
其中,所述第一数据包括W个比特位,所述W为大于等于2的正整数;
所述处理器801在将所述第一数据写入所述第二存储地址对应的存储区域之前,还可以用于:
根据第二移位方向和第二移位位数Q对第二数据的W个比特位进行循环移位,生成所述第一数据;其中,所述Q为正整数。
其中,所述第一数据包括Z个字节,所述Z为大于等于2的正整数;
所述处理器801在将所述第一数据写入所述第二存储地址对应的存储区域之前,还可以用于:
根据第二移位方向和第二移位位数O对所述第二数据的Z个字节进行循环移位,生成所述第一数据;其中,O为正整数。
其中,所述处理器801在将所述第一数据写入所述第二存储地址对应的存储区域之后,还可以用于:
对所述第一数据进行哈希变换,获得第一哈希值。
其中,所述处理器801在对所述第一数据进行哈希变换,获得第一哈希值之后,还可以用于:
接收读取所述第一数据的请求;
在所述第二存储地址对应的存储区域中获取所述第一数据,并对所述第一数据进行所述哈希变换,得到第二哈希值;
若所述第一哈希值与所述第二哈希值相等,则输出所述第一数据。
其中,所述处理器801在将所述第一数据写入所述第二存储地址对应的存储区域之后,还可以用于:
对所述第二数据进行哈希变换,获得第三哈希值。
其中,所述处理器801在对所述第二数据进行哈希变换,获得第三哈希值之后,还可以用于:
接收读取所述第二数据的请求;
在所述第二存储地址对应的存储区域中获取所述第一数据,并根据所述第二移位方向和第二移位位数Q对所述第一数据进行移位还原,生成所述第二数据;
对所述第二数据进行所述哈希变换,获得第四哈希值;
若所述第三哈希值与所述第四哈希值相等,则输出所述第二数据。
在具体实现中,作为一种可选的实施例,处理器801可以包括一个或多个 CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种可选的实施例,终端800可以包括多个处理器,例如图8中的处理器801和处理器808。这些处理器中的每一个可以是一个单核 (single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令) 的处理核。
在具体实现中,作为一种可选的实施例,终端800还可以包括输出设备805 和输入设备806。输出设备805和处理器801通信,可以以多种方式来显示信息。例如,输出设备805可以是液晶显示器(Liquid Crystal Display,LCD),发光二极管(Light Emitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT) 显示设备,或投影仪(projector)等。输入设备806和处理器801通信,可以以多种方式接受用户的输入。例如,输入设备806可以是鼠标、键盘、触摸屏设备或传感设备等。
在具体实现中,终端800可以包括移动手机、平板电脑、个人数字助理 (PersonalDigital Assistant,PDA)、移动互联网设备(Mobile Internet Device, MID)、智能穿戴设备(如智能手表、智能手环)等各种用户可以使用的终端,本发明实施例不作具体限定。
本发明实施例还提供了一种计算机存储介质,用于存储为上述图1A所示的终端所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的程序。通过执行存储的程序,可以实现对数据的加密,从而可以提高数据的安全性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
根据第一移位方向、第一移位位数P对第一数据对应的第一存储地址所包括的连续多个地址位进行移位处理,计算得到第二存储地址;其中,所述第一数据对应的第一存储地址是指所述第一数据按照中央处理器CPU的存储策略原本应该存储的地址,所述第一存储地址的长度和所述第二存储地址的长度均为K个比特;所述第一存储地址的地址编号包括IM、…、IN,所述第二存储地址的地址编号包括IA、…、IB,所述IM不等于所述IA,或,所述IN不等于所述IB;所述K为大于等于2的正整数;
将所述第一数据写入所述第二存储地址对应的存储区域;
其中,所述第一数据包括W个比特位,所述W为大于等于2的正整数;所述将所述第一数据写入所述第二存储地址对应的存储区域之前,还包括:根据第二移位方向和第二移位位数Q对第二数据的W个比特位进行循环移位,生成所述第一数据,所述Q为正整数;
或者,所述第一数据包括Z个字节,所述Z为大于等于2的正整数;所述将所述第一数据写入所述第二存储地址对应的存储区域之前,还包括:根据第二移位方向和第二移位位数O对所述第二数据的Z个字节进行循环移位,生成所述第一数据,所述O为正整数。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一数据写入所述第二存储地址对应的存储区域之后,还包括:
对所述第一数据进行哈希变换,获得第一哈希值。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一数据进行哈希变换,获得第一哈希值之后,还包括:
接收读取所述第一数据的请求;
在所述第二存储地址对应的存储区域中获取所述第一数据,并对所述第一数据进行所述哈希变换,得到第二哈希值;
若所述第一哈希值与所述第二哈希值相等,则输出所述第一数据。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一数据写入所述第二存储地址对应的存储区域之后,还包括:
对所述第二数据进行哈希变换,获得第三哈希值。
5.根据权利要求4所述的方法,其特征在于,所述对所述第二数据进行哈希变换,获得第三哈希值之后,还包括:
接收读取所述第二数据的请求;
在所述第二存储地址对应的存储区域中获取所述第一数据,并根据所述第二移位方向和第二移位位数Q对所述第一数据进行移位还原,生成所述第二数据;
对移位还原生成的第二数据进行所述哈希变换,获得第四哈希值;
若所述第三哈希值与所述第四哈希值相等,则输出所述第二数据。
6.一种终端,其特征在于,包括用于执行如权利要求1-5任一权利要求所述的方法的单元。
7.一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读 存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811085034.XA CN109446758B (zh) | 2018-09-17 | 2018-09-17 | 一种数据处理方法、终端及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811085034.XA CN109446758B (zh) | 2018-09-17 | 2018-09-17 | 一种数据处理方法、终端及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109446758A CN109446758A (zh) | 2019-03-08 |
CN109446758B true CN109446758B (zh) | 2022-12-20 |
Family
ID=65532663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811085034.XA Active CN109446758B (zh) | 2018-09-17 | 2018-09-17 | 一种数据处理方法、终端及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446758B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579489B (zh) * | 2020-12-25 | 2023-01-24 | 龙芯中科技术股份有限公司 | 数据操作方法、装置、设备、存储介质及程序产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899522B (zh) * | 2015-06-09 | 2018-01-30 | 网易(杭州)网络有限公司 | 一种数据处理方法及装置 |
CN107391298B (zh) * | 2017-07-06 | 2021-02-09 | 上海策链信息科技有限公司 | 数据存储状态检测方法、装置及计算机可读存储介质 |
-
2018
- 2018-09-17 CN CN201811085034.XA patent/CN109446758B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109446758A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102451109B1 (ko) | 디바이스 익명성을 제공하는 키 증명문 생성 | |
US8243983B2 (en) | Graphically encoded data copy and paste | |
CN108769027B (zh) | 安全通信方法、装置、移动终端和存储介质 | |
US9213931B1 (en) | Matrix barcode enhancement through capture and use of neighboring environment image | |
CN109214201B (zh) | 一种数据共享方法、终端设备及计算机可读存储介质 | |
TW202040399A (zh) | 資料處理方法、裝置和電子設備 | |
TW202025032A (zh) | 區塊鏈資料處理方法、裝置及系統 | |
CN109495266B (zh) | 基于随机数的数据加密方法及装置 | |
WO2017166856A1 (zh) | 文件加密方法、装置及设备 | |
WO2022068360A1 (zh) | 基于共享根密钥的信息处理方法、装置、设备及介质 | |
CN113032818A (zh) | 任务加密方法、装置、电子设备和计算机可读介质 | |
CN113900966B (zh) | 一种基于Cache的访存方法及装置 | |
CN109857573B (zh) | 一种数据共享方法、装置、设备及系统 | |
CN109446758B (zh) | 一种数据处理方法、终端及计算机可读介质 | |
WO2022068235A1 (zh) | 基于信息的属性生成随机数的信息处理方法、装置及设备 | |
US20150331671A1 (en) | Generating pseudo-random numbers using cellular automata | |
KR102133200B1 (ko) | 데이터의 보호 방법 및 장치 | |
CN116107520B (zh) | S3对象存储协议的加密数据存储方法及系统 | |
CN110990846B (zh) | 信息存储方法、设备及计算机可读存储介质 | |
CN110336669B (zh) | 一种信息的加密方法、装置及电子设备 | |
CN116644144A (zh) | 一种分机号的存储方法、隐私号绑定方法及相关装置 | |
CN109324843B (zh) | 一种指纹处理系统、方法及指纹设备 | |
CN111368322A (zh) | 一种文件解密方法、装置、电子设备和存储介质 | |
CN116132065A (zh) | 密钥确定方法、装置、计算机设备和存储介质 | |
CN110717186A (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 |