CN107087002B - 一种数据的加解密方法、装置及电子设备 - Google Patents
一种数据的加解密方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107087002B CN107087002B CN201710340030.0A CN201710340030A CN107087002B CN 107087002 B CN107087002 B CN 107087002B CN 201710340030 A CN201710340030 A CN 201710340030A CN 107087002 B CN107087002 B CN 107087002B
- Authority
- CN
- China
- Prior art keywords
- encryption
- decryption
- code
- original
- data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种数据的加解密方法、装置及电子设备,其中所述数据的加解密方法包括:预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;在需要对数据进行加解密时,对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码;利用所述原始加解密代码,对所述数据进行加解密。本发明解决了现有技术中由于加解密算法容易被破解,存在安全性较低的技术问题,实现了提高数据加解密的安全性的技术效果。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种数据的加解密方法、装置及电子设备。
背景技术
目前,随着网络通信技术的进步和宽带网络的提速,信息安全已经越来越来重要,特别是一些重要数据,例如程序代码、用户的密码、程序中使用的资源文件等。通常都需要对上述重要数据进行加密保护。
现有技术中,一般采用加解密算法来对应用程序中的数据进行加密或解密,当需要使用应用程序时,上述加解密算法对应的代码则会与应用程序代码一起编译形成最终的可执行文件。
然而,申请人发现,由于加解密算法与应用程序代码一起编译形成最终的可执行文件,这样通过反编译应用程序代码则可以破解出加解密算法。
可见,现有技术中,由于加解密算法容易被破解,存在安全性较低的技术问题。
发明内容
本发明提供一种数据的加解密方法、装置及电子设备,用以解决现有技术中由于加解密算法容易被破解,存在的安全性较低的技术问题。
第一方面,本发明实施例提供了一种数据的加解密方法,所述方法包括:
预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;
在需要对数据进行加解密时,对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码;
利用所述原始加解密代码,对所述数据进行加解密。
本申请提供的数据的加解密方法,在所述预先对原始加解密代码进行加密处理之前,所述方法还包括:
将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码;
所述预先对原始加解密代码进行加密处理,包括:
对所述汇编代码进行加密处理,以对所述原始加解密代码进行加密。
本申请提供的数据的加解密方法,所述将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码,包括:
编译所述原始加解密代码,获得包含所述汇编代码的可执行文件;
从所述可执行文件中获取所述汇编代码。
本申请提供的数据的加解密方法,所述对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码,包括:
为所述加密处理后的原始加解密代码分配一段内存空间;
将所述加密处理后的原始加解密代码加载至所述内存空间;
基于预设的解密方式在所述内存空间中对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码。
本申请提供的数据的加解密方法,在所述利用所述原始加解密代码,对所述数据进行加解密之后,还包括:
清除所述内存空间中的所述原始加解密代码;
释放所述内存空间。
基于与第一方面相同的发明构思,本发明第二方面还提供了一种数据的加解密装置,所述装置包括:
第一预处理模块,用于预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;
第二预处理模块,用于在需要对数据进行加解密时,对所述加密后处理后的原始加解密代码进行解密,获得原始加解密代码;
加解密模块,用于利用所述原始加解密代码,对所述数据进行加解密。
在本发明提供的数据加解密装置中,所述装置还包括转换模块,用于将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码
第一预处理模块用于:对所述汇编代码进行加密处理,以对所述原始加解密代码进行加密。
在本发明提供的数据加解密装置中,所述转换模块还用于:
编译所述原始加解密代码,获得包含所述汇编代码的可执行文件;
从所述可执行文件中获取所述汇编代码。
在本发明提供的数据加解密装置中,所述第二预处理模块用于:
为所述加密处理后的原始加解密代码分配一段内存空间;
将所述加密处理后的原始加解密代码加载至所述内存空间;
基于预设的解密方式在所述内存空间中对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码。
在本发明提供的数据加解密装置中,所述装置还包括处理模块,所述处理模块用于:
清除所述内存空间中的所述原始加解密代码;
释放所述内存空间。
基于与第一方面相同的发明构思,本发明第三方面还提供了一种数据的加解密电子设备,所述电子设备包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现数据的加解密方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例提供的数据的加解密方法,预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;然后在需要对数据进行加解密时,对所述进行加密处理的原始加解密代码进行解密,获得所述原始加解密代码;再利用所述原始加解密代码,对所述数据进行加解密。通过预先对所述原始加解密代码进行加密处理,使得原始加解密代码处于加密状态,在需要对数据进行加解密时,才对所述加密处理后的原始加解密代码进行解密处理,进而利用解密出的所述原始加解密代码对所述数据进行加解密处理。那么,相较于现有技术,由于本发明实施例中的原始加解密代码被加密,增加了破解出原始加解密代码的难度,由此解决了现有技术中由于加解密算法容易被破解,存在安全性较低的技术问题,实现了提高数据加解密的安全性的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种数据的加解密方法的流程图;
图2为本发明实施例中一种数据的加解密装置的结构示意图;
图3为本发明实施例中一种数据的加解密电子设备的结构示意图。
具体实施方式
本申请实施例通过提供一种数据的加解密方法、装置及电子设备,用以解决现有技术中由于加解密算法容易被破解,存在安全性较低的技术问题。
本申请实施例中的技术方案,总体思路如下:
一种数据的加解密方法,所述方法包括:预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;在需要对数据进行加解密时,对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码;利用所述原始加解密代码,对所述数据进行加解密。
在上述方法中,通过预先对所述原始加解密代码进行加密处理,使得原始加解密代码处于加密状态,在需要对数据进行加解密时,才对所述加密处理后的原始加解密代码进行解密处理,进而利用解密出的所述原始加解密代码对所述数据进行加解密处理。那么,相较于现有技术,由于本发明实施例中的原始加解密代码被加密,增加了破解出原始加解密代码的难度,由此解决了现有技术中由于加解密算法容易被破解,存在安全性较低的技术问题,实现了提高数据加解密的安全性的技术效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种数据的加解密方法,请参考图1,所述方法包括:
步骤S101:预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;
步骤S102:在需要对数据进行加解密时,对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码;
步骤S103:利用所述原始加解密代码,对所述数据进行加解密。
在本申请实施例中,原始加解密代码是用于对数据进行加解密的代码。原始加解密代码可以有一种,进而按照相同的加解密方法对所有数据进行加解密。或者,原始加解密算法也可以为多种,进而按照不同的加解密方法对不同的数据进行加解密。
下面,结合图1,对本申请提供的数据的加解密方法进行详细描述:
首先,执行步骤S101,预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码。
在具体的实施过程中,可以采用多种方式对原始加解密代码进行加密处理,下面以两种方式为例予以介绍:
第一种,采用加密算法直接对原始加解密代码进行加密处理。加密算法例如可以采用TEA(微型加密算法,Tiny Encryption Algorithm)或DES(数据加密标识,DataEncryption Standard)等。经过上述加密处理,就可以获得加密处理后的原始加解密代码。加密处理后的原始加解密代码与原始加解密代码不同,故而不易被识别出,更加不容易被破解,从而隐藏了原始加解密代码,使得原始加解密代码处于保密的状态。
第二种,先将原始加解密代码转换成隐藏的数据,然后再对该隐藏的数据进行加密处理。该隐藏的数据在形式上与步骤S103中的数据类似,为二进制代码,是不能被反编译的数据。因而原始加解密代码被隐藏在同样为二进制代码的数据中,不容易被识别和破解,从而达到隐藏原始加解密代码的目的。并且,对隐藏的数据还进行加密处理,更进一步增加了破解难度,提高了安全性。
进一步,在通过加密处理后,获得的加密处理后的原始加解密代码为一份数据文件,为了实现对加密处理后的原始加解密代码的保存,可以定义相应的变量来进行存储。举例来说,如果是对应用程序中的数据进行加解密,可以在应用程序中定义一个全局数据存储变量,用来存储加密处理后的原始加解密代码。
具体地,在所述预先对原始加解密代码进行加密处理之前,所述方法还包括:
将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码;
所述预先对原始加解密代码进行加密处理,包括:
对所述汇编代码进行加密处理,以对所述原始加解密代码进行加密。
在本发明实施例中,可以将原始加解密代码进行单独进行编译,从而转换成原始加解密代码的汇编代码。然后,在利用上述介绍过的任意一种加密算法对汇编代码进行加密处理,这样就可以实现对原始加解密代码的加密。
更为具体地,所述将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码,包括:
编译所述原始加解密代码,获得包含所述汇编代码的可执行文件;
从所述可执行文件中获取所述汇编代码。
在具体的实施过程中,可以利用编译器来对原始加解密代码进行编译,编译后可以得到可执行文件。可执行文件中包含有原始加解密代码的汇编代码,因此,从编译出来的可执行文件中拷贝出与加解密代码相对应的代码,就获得了加解密代码的汇编代码,从而实现原始加解密代码到对应的汇编代码的转换。
接下来执行步骤S102:在需要对数据进行加解密时,对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码。
在本发明实施例中,由于原始加解密代码之前进行了加密处理,不能直接使用,在需要对数据进行加解密时,需要对加密处理后的原始加解密代码进行解密。在进行原始加解密代码的解密时,根据之前对原始加解密代码的加密处理方法进行相对应的解密,这样就可以获得原始加解密代码。
具体地,所述对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码,包括:
为所述加密处理后的原始加解密代码分配一段内存空间;
将所述加密处理后的原始加解密代码加载至所述内存空间;
基于预设的解密方式在所述内存空间中对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码。
在本发明实施例中,在对数据进行加解密时,需要首先获得原始加解密代码。而为获得原始加解密代码,首先需要对加密处理后的原始加解密代码进行解密。在对加密处理后的原始加解密代码解密时,首先分配一内存空间,然后将加密处理后的原始加解密代码加载至所述内存空间,然后在内存空间中利用与加密处理时所应用的加密算法对应的解密算法进行相应的解密操作。
相对于现有技术而言,在不需要使用原始加解密代码的时候,原始加解密代码以保密状态存在,只有在需要使用时才被加载并曝光于动态分配的内存空间中,这样降低了加解密代码的破解风险,进一步提高了加解密代码的安全性。
上述分配一段内存空间可以通过调用Windows提供的API(ApplicationProgramming Interface)函数VirtualAlloc来实现,函数VirtualAlloc的形式具体如下:
LPVOID VirtualAlloc{
LPVOID lpAddress,//要分配的内存空间的地址
DWORD dwSize,//要分配的内存空间的大小
DWORD flAllocationType,//要分配的内存空间的类型
DWORD flProtect//};//要分配的内存空间存的初始保护属性
其中,参数lpAddress表示要分配的内存空间的地址,当lpAddress为0是时则表示由系统分配内存空间。参数dwSize表示分配的内存空间的大小,可根据需要加载的加密后的加解密代码的数据大小进行设置。参数flAllocationType表示内存空间的类型,可以为MEM_COMMIT,MEM_RESERVE或MEM_TOP_DOWN,其中MEM_COMMIT表示为指定地址空间提交物理内存,MEM_RESERVE表示保留指定地址空间,不分配物理内存;MEM_TOP_DOWN表示在尽可能高的地址分配内存。参数flProtect表示需要内存空间的初始保护属性,例如可读、可写、可读写。
在本发明实施例中,前述步骤S101中介绍了两种不同的对加解密代码的加密处理方式,来获得加密后的加解密代码,因此,在对加密处理后的加解密代码进行解密时,可以采取相对应的解密方法,
对应于上述第一种加密处理方式,将加密处理后的原始加解密代码加载到分配的内存空间中,直接采用与加密算法相对应的解密算法,对加密处理后的原始加解密代码进行解密,从而获得原始加解密代码。
对应于上述第二种加密处理方式,将加密处理后的原始加解密代码加载到分配的内存空间中,首先通过与与加密算法相对应的解密算法解密出隐藏的数据,然后利用与将原始加解密代码转换成汇编代码相反的方法将汇编代码转换成原始加解密代码。
然后执行步骤S103:利用所述原始加解密代码,对所述数据进行加解密。
在具体的实施过程中,需要加解密的数据可以是用户的密码,用户与服务器的通信协议等。在获得原始加解密代码后,就可以运行原始加解密代码,进而对数据进行加解密了。由于本发明实施例中的原始加解密代码被加密,增加了破解出原始加解密代码的难度,由此解决了现有技术中由于加解密算法容易被破解,存在安全性较低的技术问题,实现了提高数据加解密的安全性的技术效果。
本发明实施例提供的一种数据的加解密方法,在所述利用所述原始加解密代码,对所述数据进行加解密之后,还包括:
清除所述内存空间中的所述原始加解密代码;
释放所述内存空间。
在具体的实施过程中,清除内存空间中的原始加解密代码可以通过以下几种方法来实现:
第一种,通过将分配内存空间函数的相关参数赋值为0。例如将分配的内存空间中的数据赋值为0或者重新将分配的内存空间的大小赋值为0等。
当对数据加解密完成后,需要对使用到的加解密代码进行清除以不在内存中留下加解密代码。
第二种,可以通过调用清除内存空间内容的函数来清除原始加解密代码。举例来说,利用memset(addr,0,size)函数来清除内存空间中的所述原始加解密代码。函数memset的作用是在一段内存空间中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种方法。
上述函数memset中,第一个参数addr是指分配的内存空间的地址,第二参数0则表示将addr指示的内存空间填入的信息为0,第三个参数size则表示addr指示的内存空间的大小。在清除内存空间中的原始加解密代码时,将memset函数的第一个参数赋值为内存空间的地址,第三个参数赋值为内存空间的大小,然后运行memset函数就清除了内存空间中的原始加解密代码。
清除内存空间中的原始加解密代码之后,本发明实施例还进一步释放所述内存空间。
在具体的实施过程中,可以通过调用Windows的API函数VirtualFree来释放所述内存空间。
VirtualFree的形式具体如下所述:
其中,参数lpAddress表示要释放的内存空间的地址。
参数dwSize表示要释放的内存空间的大小。
参数dwFreeType表示要释放的内存空间的类型。
释放分配的内存空间的函数VirtualFree与分配内存函数VirtualAlloc相对应,可以对VirtualAlloc函数分配的内存空间中的相关参数进行赋值,来实现内存空间的释放。即将VirtualFree中的lpAddress赋值成VirtualAlloc中的内存空间地址,参数dwSize赋值成VirtualAlloc中的内存空间大小,参数dwFreeType赋值成VirtualAlloc中的内存空间的类型。这样当数据加解密完成后,就可以将分配的内存空间清空,并释放内存空间,从而不留下原始加解密代码的痕迹,进一步缩短原始加解密代码曝光时间,从而增加原始加解密代码被破解的难度,进一步提高加解密数据的安全性。
实施例二
基于与实施例一同样的发明构思,本发明实施例二提供了一种数据的加解密装置,请参见图2,所述装置包括:
第一预处理模块201,用于预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;
第二预处理模块202,用于在需要对数据进行加解密时,对所述加密后处理后的原始加解密代码进行解密,获得原始加解密代码;
加解密模块203,用于利用所述原始加解密代码,对所述数据进行加解密。
在本实施例提供的数据的加解密装置中,所述装置还包括转换模块,用于将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码;
第一预处理模块201还用于:对所述汇编代码进行加密处理,以对所述原始加解密代码进行加密。
在本实施例提供的数据的加解密装置中,所述转换模块还用于:
编译所述原始加解密代码,获得包含所述汇编代码的可执行文件;
从所述可执行文件中获取所述汇编代码。
在本实施例提供的数据的加解密装置中,所述第二预处理模块用于:
为所述加密处理后的原始加解密代码分配一段内存空间;
将所述加密处理后的原始加解密代码加载至所述内存空间;
基于预设的解密方式在所述内存空间中对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码。
在本实施例提供的数据的加解密装置中,所述装置还包括处理模块,所述处理模块用于:
清除所述内存空间中的所述原始加解密代码;
释放所述内存空间。
实施例一所述的数据的加解密方法的各种变化方式和具体实例同样适用于实施例二中的数据的加解密装置,通过前述对数据的加解密方法的详细描述,本领域技术人员可以清楚的知道本实施例中数据的加解密装置,所以为了说明书的简洁,在此不再详述。
实施例三
基于与实施例一同样的发明构思,本发明实施例三提供了一种数据加解密的电子设备,请参见图3,所述电子设备包括:
存储器301,处理器302及存储在所述存储器上并可在所述处理器上运行的计算机程序303,其中,所述处理器302执行所述计算机程序303时可以实现权利要求1至5任一所述的方法。
需要说明的是,本申请涉及的电子设备包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器301可用于存储计算机程序303,上述计算机程序包括软件程序、模块和数据,处理器302通过运行执行存储在存储器301的计算机程序303,从而执行电子设备的各种功能应用以及数据处理。
在具体的实施过程中,存储器301可用于存储软件程序以及模块,处理器302通过运行存储在存储器301的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据电子设备的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器302是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器301内的软件程序和/或模块,以及调用存储在存储器301内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器302可包括一个或多个处理单元;优选的,处理器302可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例提供的数据的加解密方法,预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;然后在需要对数据进行加解密时,对所述进行加密处理的原始加解密代码进行解密,获得所述原始加解密代码;再利用所述原始加解密代码,对所述数据进行加解密。通过预先对所述原始加解密代码进行加密处理,使得原始加解密代码处于加密状态,在需要对数据进行加解密时,才对所述加密处理后的原始加解密代码进行解密处理,进而利用解密出的所述原始加解密代码对所述数据进行加解密处理。那么,相较于现有技术,由于本发明实施例中的原始加解密代码被加密,增加了破解出原始加解密代码的难度,由此解决了现有技术中由于加解密算法容易被破解,存在安全性较低的技术问题,实现了提高数据加解密的安全性的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种数据的加解密方法,其特征在于,所述方法包括:
预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;
在需要对数据进行加解密时,对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码;
利用所述原始加解密代码,对所述数据进行加解密;
所述对原始加解密代码进行加密处理,包括:
先将原始加解密代码转换成隐藏的数据,然后再对该隐藏的数据进行加密处理,所述隐藏的数据是不能被反编译的数据;
所述将原始加解密代码转换成隐藏的数据包括:原始加解密代码被隐藏在同样为二进制代码的数据中;
定义相应的变量来对所述加密处理后的原始加解密代码进行存储;
所述对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码,包括:
为所述加密处理后的原始加解密代码分配一段内存空间;
将所述加密处理后的原始加解密代码加载至所述内存空间;
基于预设的解密方式在所述内存空间中对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码;
所述数据为应用程序中的数据;
所述原始加解密代码是用于对数据进行加解密的代码。
2.如权利要求1所述的方法,其特征在于,在所述预先对原始加解密代码进行加密处理之前,所述方法还包括:
将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码;
所述预先对原始加解密代码进行加密处理,包括:
对所述汇编代码进行加密处理,以对所述原始加解密代码进行加密。
3.如权利要求2所述的方法,其特征在于,所述将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码,包括:
编译所述原始加解密代码,获得包含所述汇编代码的可执行文件;
从所述可执行文件中获取所述汇编代码。
4.如权利要求1所述的方法,其特征在于,在所述利用所述原始加解密代码,对所述数据进行加解密之后,还包括:
清除所述内存空间中的所述原始加解密代码;
释放所述内存空间。
5.一种数据的加解密装置,其特征在于,所述装置包括:
第一预处理模块,用于预先对原始加解密代码进行加密处理,获得加密处理后的原始加解密代码;
第二预处理模块,用于在需要对数据进行加解密时,对所述加密后处理后的原始加解密代码进行解密,获得原始加解密代码;
加解密模块,用于利用所述原始加解密代码,对所述数据进行加解密;
所述对原始加解密代码进行加密处理,包括:
先将原始加解密代码转换成隐藏的数据,然后再对该隐藏的数据进行加密处理,所述隐藏的数据是不能被反编译的数据;
所述将原始加解密代码转换成隐藏的数据包括:原始加解密代码被隐藏在同样为二进制代码的数据中;
定义相应的变量来对所述加密处理后的原始加解密代码进行存储;
所述第二预处理模块用于:
在需要对数据进行加解密时,为所述加密处理后的原始加解密代码分配一段内存空间;
将所述加密处理后的原始加解密代码加载至所述内存空间;
基于预设的解密方式在所述内存空间中对所述加密处理后的原始加解密代码进行解密,获得所述原始加解密代码;
所述数据为应用程序中的数据;
所述原始加解密代码是用于对数据进行加解密的代码。
6.如权利要求5所述的装置,其特征在于,所述装置还包括转换模块,用于在预先对原始加解密代码进行加密处理之前,将所述原始加解密代码转换成与所述原始加解密代码对应的汇编代码;
第一预处理模块用于:对所述汇编代码进行加密处理,以对所述原始加解密代码进行加密。
7.如权利要求6所述的装置,其特征在于,所述转换模块用于:
编译所述原始加解密代码,获得包含所述汇编代码的可执行文件;
从所述可执行文件中获取所述汇编代码。
8.一种数据的加解密电子设备,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710340030.0A CN107087002B (zh) | 2017-05-15 | 2017-05-15 | 一种数据的加解密方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710340030.0A CN107087002B (zh) | 2017-05-15 | 2017-05-15 | 一种数据的加解密方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107087002A CN107087002A (zh) | 2017-08-22 |
CN107087002B true CN107087002B (zh) | 2019-09-20 |
Family
ID=59607510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710340030.0A Active CN107087002B (zh) | 2017-05-15 | 2017-05-15 | 一种数据的加解密方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107087002B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426703B (zh) * | 2017-08-30 | 2023-11-24 | 喀斯玛汇智(无锡)科技有限公司 | 一种ios平台上对核心代码的保护方法和装置 |
CN110032529B (zh) * | 2018-01-11 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 一种内存管理方法及相关装置 |
CN108270787B (zh) * | 2018-01-16 | 2020-11-03 | 深圳市道通科技股份有限公司 | 一种数据解密方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261664A (zh) * | 2008-04-10 | 2008-09-10 | 北京深思洛克数据保护中心 | 一种使用软件保护装置存储程序代码实现软件保护的方法 |
CN102684879A (zh) * | 2012-05-02 | 2012-09-19 | 四川建设网有限责任公司 | 一种远程开标、评标方法及系统 |
CN103716330A (zh) * | 2014-01-03 | 2014-04-09 | 网易(杭州)网络有限公司 | 一种数字内容加密与解密方法和设备 |
CN104579689A (zh) * | 2015-01-20 | 2015-04-29 | 中城智慧科技有限公司 | 一种软密钥系统及实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI222609B (en) * | 2001-07-25 | 2004-10-21 | Matsushita Electric Ind Co Ltd | A method of producing a decrypting apparatus having a cryptographic device and cryptographic information, a system for providing such device and information, and the decrypting apparatus produced by the production method |
CN100342296C (zh) * | 2005-09-09 | 2007-10-10 | 深圳兆日技术有限公司 | 基于可信计算模块芯片实现计算机软件防盗版的方法 |
CN102156843B (zh) * | 2011-03-28 | 2015-04-08 | 威盛电子股份有限公司 | 数据加密方法与系统以及数据解密方法 |
-
2017
- 2017-05-15 CN CN201710340030.0A patent/CN107087002B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261664A (zh) * | 2008-04-10 | 2008-09-10 | 北京深思洛克数据保护中心 | 一种使用软件保护装置存储程序代码实现软件保护的方法 |
CN102684879A (zh) * | 2012-05-02 | 2012-09-19 | 四川建设网有限责任公司 | 一种远程开标、评标方法及系统 |
CN103716330A (zh) * | 2014-01-03 | 2014-04-09 | 网易(杭州)网络有限公司 | 一种数字内容加密与解密方法和设备 |
CN104579689A (zh) * | 2015-01-20 | 2015-04-29 | 中城智慧科技有限公司 | 一种软密钥系统及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107087002A (zh) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160087792A1 (en) | Techniques for distributing secret shares | |
CN101419652B (zh) | 一种软硬件结合的保护程序的方法 | |
CN105678192B (zh) | 一种基于智能卡的密钥应用方法及应用装置 | |
CN108768666A (zh) | 一种基于sm2门限密码算法的数字货币钱包管理方法 | |
CN107196907B (zh) | 一种安卓so文件的保护方法及装置 | |
CN106250721A (zh) | 一种基于区块链的电子版权保护方法 | |
CN109409885A (zh) | 区块链上的跨链交易方法、装置及存储介质 | |
CN107087002B (zh) | 一种数据的加解密方法、装置及电子设备 | |
CN109636592A (zh) | 高性能智能合约设计 | |
CN104915602B (zh) | 一种Android平台下的PIN码保护方法 | |
CN109040134A (zh) | 一种信息加密的设计方法及相关装置 | |
CN104091140A (zh) | 一种信息处理方法及电子设备 | |
CN108134673A (zh) | 一种生成白盒库文件的方法及装置 | |
CN105989304A (zh) | 一种文件存储方法、读取方法及装置 | |
CN110210591A (zh) | 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质 | |
CN105306200B (zh) | 网络账号密码的加密方法和装置 | |
CN102983969A (zh) | 一种操作系统的安全登录系统及安全登录方法 | |
CN108256342B (zh) | Shader文件的加密方法、装置及解密方法、装置 | |
CN109981551A (zh) | 一种基于区块链的数据传输系统、方法及相关设备 | |
CN106656472A (zh) | 交易数据的加密方法及系统 | |
CN108256343A (zh) | Shader文件的加密方法、装置及解密方法、装置 | |
CN110119600A (zh) | 基于应用程序安装包的程序加固方法及装置 | |
CN107247906B (zh) | 一种用于数据的加密方法及装置 | |
CN100486157C (zh) | 一种分布式数据加密方法 | |
CN105354462B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231110 Address after: Room 606-609, Compound Office Complex Building, No. 757, Dongfeng East Road, Yuexiu District, Guangzhou, Guangdong Province, 510699 Patentee after: China Southern Power Grid Internet Service Co.,Ltd. Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |