CN107992725B - 一种代码加密、解密方法及装置 - Google Patents
一种代码加密、解密方法及装置 Download PDFInfo
- Publication number
- CN107992725B CN107992725B CN201711470278.5A CN201711470278A CN107992725B CN 107992725 B CN107992725 B CN 107992725B CN 201711470278 A CN201711470278 A CN 201711470278A CN 107992725 B CN107992725 B CN 107992725B
- Authority
- CN
- China
- Prior art keywords
- directory
- file
- name
- database
- code
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000009466 transformation Effects 0.000 claims abstract description 153
- 230000001131 transforming effect Effects 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims description 81
- 238000012545 processing Methods 0.000 claims description 19
- 238000011084 recovery Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 2
- 241001475178 Dira Species 0.000 description 29
- LXMSZDCAJNLERA-ZHYRCANASA-N spironolactone Chemical compound C([C@@H]1[C@]2(C)CC[C@@H]3[C@@]4(C)CCC(=O)C=C4C[C@H]([C@@H]13)SC(=O)C)C[C@@]21CCC(=O)O1 LXMSZDCAJNLERA-ZHYRCANASA-N 0.000 description 29
- WQTLOZFMTGYQDX-WLHGVMLRSA-N (e)-but-2-enedioic acid;n-(1-piperidin-1-ylpropan-2-yl)-n-pyridin-2-ylpropanamide Chemical compound OC(=O)\C=C\C(O)=O.C=1C=CC=NC=1N(C(=O)CC)C(C)CN1CCCCC1 WQTLOZFMTGYQDX-WLHGVMLRSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 229950003779 propiram Drugs 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例实公开了一种代码加密、解密方法及装置,该代码加密方法包括:确定待加密的源代码的代码块信息;基于所述代码块信息生成代码块混淆数据库,所述代码块混淆数据库包括代码块名称变换指示以及代码块位置变换指示;基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换;基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换,生成第一加密源代码。利用本发明生成的加密源代码可以保存到公有代码数据库服务中,并且只有查看权限的人员才能够使用解密认证信息进行解密,从而同时满足源代码的安全性以及开放性。
Description
技术领域
本发明实施例涉及数据加密处理技术领域,尤其涉及一种代码加密方法、装置及一种代码解密方法、装置。
背景技术
程序软件源代码(以下简称“源代码”)属于软件公司重要的知识资产。源代码的泄露和流失,会给软件公司带来直接的经济损失,也会给产品用户的数据安全带来很大风险。随着软件规模的扩大,一个软件产品会有越来越多的人员参与开发。如果源代码完全分离会增加调试的难度,以及增大交流成本。而开放源代码可以大大降低交流成本,以及提高开发人员的生产效率。由于对源代码的安全性以及开放性的同时需求,所以加大了保护源代码的难度。
目前,源代码有着各种各样的防泄密方法。例如,对服务器端目录进行加密,对开发人员电脑进行物理隔离、加密,或者在开发人员电脑中安装加密软件。但是这些方法在源代码交付中,项目交付人员,例如销售人员依然可以获取企业内部的源代码,这些源代码的防泄密方法安全性较差。
发明内容
本发明实施例提供了一种代码加密、解密方法及装置,以解决现有源代码的防泄密方法安全性较差的问题。
第一方面,本发明实施例提供了一种代码加密方法,所述方法包括:
确定待加密的源代码的代码块信息;
基于所述代码块信息生成代码块混淆数据库,所述代码块混淆数据库包括代码块名称变换指示以及代码块位置变换指示;
基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换;
基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换,生成第一加密源代码。
进一步地,所述代码块名称变换指示包括各个所述代码块对应的UUID;基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换的步骤,包括:
基于所述代码块名称变换指示将所述源代码中的各个代码块的名称变换为相应的UUID。
进一步地,所述代码块位置变换指示包括至少一个需要进行位置变换的代码块的名称以及相应的位置变换后的第二位置信息,所述第二位置信息为文件名称信息或代码块名称信息;
基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换的步骤,包括:
基于所述代码块位置变换指示将需要进行位置变换的代码块移动到所述文件名称信息对应的文件下或移动到所述代码块名称信息对应的代码块所在的位置上。
进一步地,所述方法还包括:
生成所述代码块加密数据库对应的代码块解密数据库,所述代码块解密数据库包括每一个所述代码块的名称、加密前的第一位置信息以及对应的UUID;
当所述代码块需要进行位置变换时,所述代码块解密数据库还包括所述代码块经过位置变换后所在的第二位置信息。
进一步地,所述方法还包括:
确定待加密源代码的文件信息以及目录信息;
基于所述文件信息生成文件混淆数据库以及基于所述目录信息生成目录混淆数据库,所述文件混淆数据库包括文件名称变换指示以及文件位置变换指示,所述目录混淆数据库包括目录名称变换指示以及目录位置变换指示;
基于所述文件混淆数据库对所述第一加密源代码中的各个文件的名称进行变换,以及对至少一个所述文件的位置进行变换,生成第二加密源代码;
基于所述目录混淆数据库对所述第二加密源代码中的各个目录的名称进行变换,以及对至少一个所述目录的位置进行变换,生成第三加密源代码。
进一步地,所述方法还包括:
生成文件加密数据库对应的文件解密数据库,以及生成目录加密数据库对应的目录解密数据库;
所述文件解密数据库包括每一个所述文件的名称、加密前所属的目录的名称以及对应的UUID;当所述文件需要进行位置变换时,所述文件解密数据库还包括所述文件经过位置变换后所属的目录的名称;
所述目录解密数据库包括每一个所述目录的名称、加密前所在的层级信息以及对应的UUID;当所述目录需要进行位置变换时,所述目录解密数据库还包括所述目录经过位置变换后所在的层级信息。
第二方面,本发明实施例还提供了一种代码解密方法,所述方法包括:
向代码加密装置发送解密认证信息;
接收所述代码加密装置基于所述解密认证信息发送的目录解密数据库、文件解密数据库以及代码块解密数据库;
基于所述目录解密数据库将加密源代码的各个目录的名称恢复为名称变换前的名称,并将经过位置变换后的目录恢复到位置变换前所在的位置上,生成目录解密后的源代码;
基于所述文件解密数据库将所述目录解密后的源代码的各个文件的名称恢复为名称变换前的名称,并将经过位置变换后的文件恢复到位置变换前所在的位置上,生成文件解密后的源代码;
基于所述代码块解密数据库对所述文件解密后的源代码的各个代码块的名称恢复为名称变换前的名称,并将经过位置变换后的代码块恢复到位置变换前所在的位置上,生成解密后的源代码。
本发明实施例能够基于代码加密装置提供的解密数据库,对加密源代码进行解密,既能够方便开发人员对源代码的使用,又能够提高源代码的安全性。
第三方面,本发明实施例还提供了一种代码加密装置,所述装置包括:
确定单元,用于确定待加密的源代码的代码块信息;
处理单元,用于基于所述代码块信息生成代码块混淆数据库,所述代码块混淆数据库包括代码块名称变换指示以及代码块位置变换指示;
变换单元,用于基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换;
所述变换单元,还用于基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换,生成第一加密源代码。
进一步地,所述代码块名称变换指示包括各个所述代码块对应的UUID;
所述变换单元,还用于基于所述代码块名称变换指示将所述源代码中的各个代码块的名称变换为相应的UUID。
进一步地,所述代码块位置变换指示包括至少一个需要进行位置变换的代码块的名称以及相应的位置变换后的第二位置信息,所述第二位置信息为文件名称信息或代码块名称信息;
所述变换单元,还用于基于所述代码块位置变换指示将需要进行位置变换的代码块移动到所述文件名称信息对应的文件下或移动到所述代码块名称信息对应的代码块所在的位置上。
进一步地,所述处理单元,还用于生成所述代码块加密数据库对应的代码块解密数据库,所述代码块解密数据库包括每一个所述代码块的名称、加密前的第一位置信息以及对应的UUID;
当所述代码块需要进行位置变换时,所述代码块解密数据库还包括所述代码块经过位置变换后所在的第二位置信息。
进一步地,所述确定单元,还用于确定待加密源代码的文件信息以及目录信息;
所述处理单元,还用于基于所述文件信息生成文件混淆数据库以及基于所述目录信息生成目录混淆数据库,所述文件混淆数据库包括文件名称变换指示以及文件位置变换指示,所述目录混淆数据库包括目录名称变换指示以及目录位置变换指示;
所述变换单元,还用于基于所述文件混淆数据库对所述第一加密源代码中的各个文件的名称进行变换,以及对至少一个所述文件的位置进行变换,生成第二加密源代码;
所述变换单元,还用于基于所述目录混淆数据库对所述第二加密源代码中的各个目录的名称进行变换,以及对至少一个所述目录的位置进行变换,生成第三加密源代码。
进一步地,所述处理单元,还用于生成文件加密数据库对应的文件解密数据库,以及生成目录加密数据库对应的目录解密数据库;
所述文件解密数据库包括每一个所述文件的名称、加密前所属的目录的名称以及对应的UUID;当所述文件需要进行位置变换时,所述文件解密数据库还包括所述文件经过位置变换后所属的目录的名称;
所述目录解密数据库包括每一个所述目录的名称、加密前所在的层级信息以及对应的UUID;当所述目录需要进行位置变换时,所述目录解密数据库还包括所述目录经过位置变换后所在的层级信息。
第四方面,本发明实施例还提供了一种代码解密装置,所述装置包括:
发送单元,用于向代码加密装置发送解密认证信息;
接收单元,用于接收所述代码加密装置基于所述解密认证信息发送的目录解密数据库、文件解密数据库以及代码块解密数据库;
恢复单元,用于基于所述目录解密数据库将加密源代码的各个目录的名称恢复为名称变换前的名称,并将经过位置变换后的目录恢复到位置变换前所在的位置上,生成目录解密后的源代码;
所述恢复单元,还用于基于所述文件解密数据库将所述目录解密后的源代码的各个文件的名称恢复为名称变换前的名称,并将经过位置变换后的文件恢复到位置变换前所在的位置上,生成文件解密后的源代码;
所述恢复单元,还用于基于所述代码块解密数据库对所述文件解密后的源代码的各个代码块的名称恢复为名称变换前的名称,并将经过位置变换后的代码块恢复到位置变换前所在的位置上,生成解密后的源代码。
利用本发明生成的加密源代码可以保存到公有代码数据库服务中,并且只有查看权限的人员才能够使用解密认证信息进行解密,从而同时满足源代码的安全性以及开放性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种代码加密方法的流程图;
图2为本发明实施例提供的一种代码解密方法的流程图;
图3为本发明实施例提供的一种代码加密装置的结构框图;
图4为本发明实施例提供的一种代码解密装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
程序软件源代码(以下简称“源代码”)可以由目录、文件以及代码块构成。目录可以分为不同的层级目录,例如顶级目录下可以包括一个或多个子目录,即二级目录,二级目录也可以包括多个子目录,即三级目录。每个目录下还可以包括一个或多个文件,每个文件中包括一个或多个代码块。
本发明提供的代码加密方法的发明构思为利用混淆算法将源代码中的目录、文件以及代码块进行混淆处理,具体过程可以为:首先确定待加密的源代码的目录信息、文件信息以及代码块信息,再基于目录信息、文件信息以及代码块信息生成包括名称变换指示以及位置变换指示的混淆数据库,基于所述混淆数据库对源代码中的目录、文件以及代码块的名称分别进行变换,再对所述代码块、所述文件以及所述目录的位置分别进行变换,从而生成加密源代码,该加密源代码可以保存到公有代码数据库服务中,并且只有查看权限的人员才能够使用解密认证信息进行解密,从而同时满足源代码的安全性以及开放性。
在本发明实施例中,获取待加密的源数据的步骤可以包括:向保存未加密的源数据的数据库发送所述源代码的地址信息以及认证信息,以用于对获取所述源代码的权限进行认证;当所述认证信息认证通过后,获取所述源代码。并且获取到该源代码后可以不对其进行显示,从而能够避免加密人员窃取源代码。当获取到待加密的源数据后,对该源数据进行加密的过程如下所述。
参见图1,为本发明实施例提供了一种代码加密方法,该方法可以包括以下步骤。
步骤101,确定待加密的源代码的代码块信息、文件信息以及目录信息。
代码块信息可以包括代码块的名称以及该代码块所在的位置信息,即第一位置信息,该第一位置信息可以为该代码块所属的文件的名称。例如代码块信息可以表示为{“name”:“codeblockX”,“file”:“fileA”},其中,codeblockX表示该代码块的名称,fileA表示该代码块所属的文件的名称。由于同一文件中可以包括多个代码块,所以该第一位置信息还可以包括该代码块在其所属的文件中的排列序号。例如codeblockX代码块为fileA文件中排列第一的代码块,则codeblockX代码块的排列序号为1。
文件信息可以包括文件的名称以及该文件所在的位置信息,例如其所属的目录的名称。例如文件信息可以表示为{“filename”:“fileA”,“dirname”:“dirA”},其中,fileA表示该文件的名称,dirA表示该文件所属的目录的名称。由于同一目录下可以包括多个文件,所以该文件所在的位置信息还可以包括该文件在其所属的目录中的排列序号,例如fileA文件为dirA下排列第一的文件,则fileA文件的排列序号为1。
目录信息可以包括目录的名称以及该目录所在的位置信息,即所在的层级信息。例如目录信息可以表示为:
{“leaf”:“dirA”,“children”:[{“leaf”:“dirB”}]}
{“dirname”:“dirA”,“level”:“1”}
{“dirname”:“dirB”,“level”:“1-2”}
其中,level用以表示当前目录所在的层级信息,“level”:“1”表示当前目录为第一个顶级目录,同理,如果level为2可以表示当前目录为第二个顶级目录。{“dirname”:“dirA”,“level”:“1”}表示dirA目录为第一个顶级目录。{“leaf”:“dirA”,“children”:[{“leaf”:“dirB”}]}表示dirB目录为dirA目录的子目录,{“dirname”:“dirB”,“level”:“1-2”}表示目录dirB为第一个顶级目录下的第二个二级目录。
步骤102,基于所述代码块信息生成代码块混淆数据库,基于所述文件信息生成文件混淆数据库以及基于所述目录信息生成目录混淆数据库。
所述代码块混淆数据库包括代码块名称变换指示以及代码块位置变换指示,所述文件混淆数据库包括文件名称变换指示以及文件位置变换指示,所述目录混淆数据库包括目录名称变换指示以及目录位置变换指示。
该代码块混淆数据库中的代码块名称变换指示包括各个所述代码块对应的UUID,在对代码块的名称进行变换时,可以基于所述代码块名称变换指示将所述源代码中的各个代码块的名称变换为相应的UUID。例如,UUID可以为795f0a0a-0d3f。需要说明的是,本发明可以将代码块的名称、文件的名称以及目录的名称替换为其他形式的标识码,例如只用数字进行表示,本发明不对各个名称替换后的标识码进行限定,并且本发明也不对UUID的算法以及长度进行限定。
该代码块混淆数据库中的代码块位置变换指示包括至少一个需要进行位置变换的代码块的名称以及相应的位置变换后的第二位置信息,所述第二位置信息可以为文件名称信息或代码块名称信息。在对代码块的位置进行变换时,可以基于所述代码块位置变换指示将需要进行位置变换的代码块移动到所述文件名称信息对应的文件下或移动到所述代码块名称信息对应的代码块所在的位置上。
在进行混淆处理时可以将两个代码块的位置进行互换,此时该第二位置信息可以使用代码块名称信息进行表示。例如,代码块混淆数据库中的数据可以表示为{“name”:“codeblockX”,“UUID”:“795f0a0a-0d3f”,“exchange”:“codeblockD”},该数据可以表示在进行加密时,将codeblockX代码块的名称由codeblockX替换为795f0a0a-0d3f,并将codeblockX代码块移动到codeblockD代码块所在的位置上,将codeblockD代码块移动到codeblockX代码块混淆处理前所在的位置上。当采用将两个代码块的位置进行互换的方式进行混淆处理时,代码块信息中的第一位置信息可以不包括代码块在其所属的文件中的排列序号。
在进行代码块的混淆处理时也可以将至少一个代码块单独进行位置变换,即将至少一个代码块的位置变换到其他的文件中,则“exchange”中的位置信息可以为除当前代码块所属的文件之外的其他文件对应的文件名称信息。当将代码块的位置变换到其他的文件中时,可以根据预设规则,将该代码块放置于当前文件中最前的位置上,或放置于当前文件中最后的位置上,本发明实施例不对位置变换后的代码块在文件中的排列次序进行限制。
在生成代码块混淆数据库时,还可以使用与之相同的算法生成相应的代码块解密数据库,具体过程可以为生成代码块解密数据库对应的代码块解密数据库,所述代码块解密数据库包括每一个所述代码块的名称、加密前的第一位置信息以及对应的UUID。当所述代码块需要进行位置变换时,所述代码块解密数据库还包括所述代码块经过位置变换后所在的第二位置信息。代码块解密数据库中每一个所述代码块的名称以及加密前的第一位置信息可以与代码块信息相同。
为减少数据库所占的空间,该代码块混淆数据库与该代码块解密数据库可以为同一个数据库。
所述文件混淆数据库包括文件名称变换指示以及文件位置变换指示,该文件混淆数据库中的文件名称变换指示包括各个所述文件对应的UUID,在对文件的名称进行变换时,可以基于所述文件名称变换指示将所述源代码中的各个文件的名称变换为相应的UUID。
该文件混淆数据库中的文件位置变换指示包括至少一个需要进行位置变换的文件的名称以及相应的位置变换后的位置信息,该位置信息可以为目录名称信息或文件名称信息。在对文件的位置进行变换时,可以基于所述文件位置变换指示将需要进行位置变换的文件移动到所述目录名称信息对应的目录下,或者移动到该文件名称信息对应的文件所在的位置上。
所述目录混淆数据库包括目录名称变换指示以及目录位置变换指示,该目录混淆数据库中的目录名称变换指示包括各个所述目录文件对应的UUID。在对目录的名称进行变换时,可以基于所述目录名称变换指示将所述源代码中的各个目录的名称变换为相应的UUID。
该目录混淆数据库中的目录位置变换指示包括至少一个需要进行位置变换的目录的名称以及相应的位置变换后的位置信息,该位置信息可以为层级信息或目录名称信息。在对目录的位置进行变换时,可以基于所述目录位置变换指示将需要进行位置变换的目录移动到所述层级信息对应的位置上,或者移动到该目录名称信息对应的目录所在的位置上。
在生成文件混淆数据库时,还可以使用与之相同的算法生成相应的文件解密数据库,具体过程可以为:生成文件加密数据库对应的文件解密数据库,所述文件解密数据库包括每一个所述文件的名称、加密前所属的目录的名称以及对应的UUID。当所述文件需要进行位置变换时,所述文件解密数据库还包括所述文件经过位置变换后的位置信息。
例如文件解密数据库中的数据可以表示为{“name”:“fileA”,“UUID”:“449a8b76-0330”,“dirname”:“dirA”,“exchange”:“dirB”},该数据表示fileA文件对应的UUID为“449a8b76-0330”,fileA文件加密前所属的目录为dirA目录,经过位置变换后所属的目录为dirB目录。
在生成目录混淆数据库时,还可以使用与之相同的算法生成相应的目录解密数据库,具体过程可以为:生成目录加密数据库对应的目录解密数据库,所述目录解密数据库包括每一个所述目录的名称、加密前所在的层级信息以及对应的UUID;当所述目录需要进行位置变换时,所述目录解密数据库还包括所述目录经过位置变换后的位置信息。
例如目录解密数据库中的数据可以表示为{“name”:“dirA”,“level”:“1”,“UUID”:“6f6c8fdf-8082”,“dirname”:“dirA”,“exchange”:“dirB”},该数据表示dirA目录对应的UUID为“6f6c8fdf-8082”,dirA目录加密前为第一个顶级目录,经过位置变换后所在的位置为dirB目录所在的位置。
该文件混淆数据库与该文件解密数据库可以为同一个数据库,该目录混淆数据库与该目录解密数据库可以为同一个数据库。
步骤103,基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换。
该步骤具体可以包括:基于所述代码块名称变换指示将所述源代码中的各个代码块的名称变换为相应的UUID。
步骤104,基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换,生成第一加密源代码。
该步骤具体可以包括:基于所述代码块位置变换指示将需要进行位置变换的代码块移动到所述文件名称信息对应的文件下或移动到所述代码块名称信息对应的代码块所在的位置上。在对代码块进行位置变换时,可以将至少两个代码块位置进行互换,也可以将至少一个代码块单独进行位置变换。在将至少一个代码块单独进行位置变换时,可以将至少一个代码块的位置变换到其他的文件中。当将代码块的位置变换到其他的文件中时,可以根据预设规则,将该代码块放置于当前文件中排列最前的位置上,或放置于当前文件中排列最后的位置上,本发明实施例不对位置变换后的代码块在文件中的排列位置进行限制。
需要说明的是,对代码块的位置变换的具体过程可以参考步骤102中的说明,在此不再赘述。
本实施例可以通过对源代码中代码块的名称以及位置进行变换,从而实现对代码块的混淆处理,从而能够保证无权限查看该源代码的人员无法解读出正确的源代码,从而提高源代码的安全性。
本实施例还可以根据与代码块混淆处理过程相似的过程分别对源代码的文件以及目录进行混淆处理,从而进一步提高源代码的安全性。本实施例还可以包括以下步骤。
步骤105,基于所述文件混淆数据库对所述第一加密源代码中的各个文件的名称进行变换,以及对至少一个所述文件的位置进行变换,生成第二加密源代码。
在对文件的名称进行变换时,可以基于所述文件名称变换指示将所述源代码中的各个文件的名称变换为相应的UUID。在对文件的位置进行变换时,可以基于所述文件位置变换指示将需要进行位置变换的文件移动到所述目录名称信息对应的目录下,或者移动到该文件名称信息对应的文件所在的位置上。
当文件位置变换指示中的位置信息为文件名称信息时,还可以将两个文件的位置进行互换。例如当文件解密数据库中的数据可以表示为{“name”:“fileA”,“UUID”:“449a8b76-0330”,“dirname”:“dirA”,“exchange”:“fileB”}时,在进行文件的位置变换时,可以将fileA文件与fileB文件的位置进行互换。当文件位置变换指示中的位置信息为目录名称信息时,可以根据预设规则,将位置变换后的文件放置于当前目录下排列最前的位置上,或放置于当前目录下排列最后的位置上,本发明实施例不对位置变换后的代码块在文件中的排列位置进行限制。
步骤106,基于所述目录混淆数据库对所述第二加密源代码中的各个目录的名称进行变换,以及对至少一个所述目录的位置进行变换,生成第三加密源代码。
在对目录的名称进行变换时,可以基于所述目录名称变换指示将所述源代码中的各个目录的名称变换为相应的UUID。在对目录的位置进行变换时,可以基于所述目录位置变换指示将需要进行位置变换的目录移动到所述层级信息对应的位置上,或者移动到该目录名称信息对应的目录所在的位置上。需要说明的是,在移动目录时,该目录所包含的子目录与文件都跟随其一起移动。
当目录位置变换指示中的位置信息为目录名称信息时,可以将两个目录的位置进行互换。例如当目录解密数据库中的数据可以表示为{“name”:“dirA”,“level”:“1”,“UUID”:“6f6c8fdf-8082”,“dirname”:“dirA”,“exchange”:“dirB”}时,在进行目录的位置变换时,可以将dirA目录与dirB目录的位置进行互换。
需要说明的是对文件和目录进行位置变化的过程与对代码块进行位置变化的过程类似,其具体细节可以参考对代码块进行位置变化的过程。
利用本发明生成的加密源代码可以保存到公有代码数据库服务中,并且只有查看权限的人员才能够使用解密认证信息进行解密,从而同时满足源代码的安全性以及开放性。
参见图2,为本发明实施例提供了一种代码解密方法,该方法可以包括以下步骤。
步骤201,向代码加密装置发送解密认证信息。
代码解密人员获取加密源代码的过程可以包括:向保存加密源代码的数据库发送获取验证信息,当验证成功后,获取所述加密源代码,再进行解密,从而提高加密源代码存储中的安全性。
代码加密装置用于对源代码进行加密处理,该装置存储有加密源代码对应的解密数据库。本实施例可以利用解密认证信息从代码加密装置中获取解密数据库。
步骤202,接收所述代码加密装置基于所述解密认证信息发送的目录解密数据库、文件解密数据库以及代码块解密数据库。
目录解密数据库包括每一个所述目录的名称、加密前所在的层级信息以及对应的UUID,当目录经过位置变换后,目录解密数据库还包括所述目录经过位置变换后所在的位置信息。
文件解密数据库可以包括每一个所述文件的名称、加密前所属的目录的名称以及对应的UUID,其中文件的名称为该文件加密前的名称,对应的UUID为加密后该文件的名称。当文件经过位置变换后,文件解密数据库还包括所述文件经过位置变换后所在的位置信息。文件解密数据库还可以包括每一个文件加密前在其所属的目录中的排列序号。
代码块解密数据库包括每一个所述代码块的名称、加密前所属的文件的名称以及对应的UUID,其中代码块的名称为该代码块加密前的名称,对应的UUID为加密后该代码块的名称。当代码块经过位置变换后,代码块解密数据库还包括所述代码块经过位置变换后所在的位置信息。代码块解密数据库还可以包括每一个代码块加密前在其所属的文件中的排列序号。
目录解密数据库、文件解密数据库以及代码块解密数据库中的具体组成可以参考上述实施例,在此不再赘述。
步骤203,基于所述目录解密数据库将加密源代码的各个目录的名称恢复为名称变换前的名称,并将经过位置变换后的目录恢复到位置变换前所在的位置上,生成目录解密后的源代码。
加密源代码中的目录的名称以及位置经过了混淆处理,所以在解密源代码时需要将目录的名称以及位置恢复到加密前的状态,对目录进行恢复的步骤具体可以包括:基于所述目录解密数据库的指示,将加密源代码中每一个所述目录的UUID名称恢复为所述目录加密前的名称,即变换前的名称;基于所述目录解密数据库的指示,将经过位置变换后的每一个所述目录恢复到位置变换前所在的位置上,生成目录解密后的源代码。
在对目录名称进行恢复时,可以根据目录解密数据库中的目录的名称与UUID的对应关系,将目录的UUID名称恢复为加密前的名称。并且如果在目录解密数据库中目录名称对应有位置变换后所在的位置信息,需要根据加密前所在的位置信息将该目录从当前位置移动到加密前的位置上。
例如目录解密数据库中的数据包括{“name”:“dirA”,“level”:“1”,“UUID”:“6f6c8fdf-8082”,“dirname”:“dirA”,“exchange”:“dirB”},在对当前目录进行解密时,可以将该目录的名称由“6f6c8fdf-8082”变换为“dirA”,再将dirA目录从当前位置移动到第一个顶级目录所在的位置上,在移动目录时,该目录所包含的子目录与文件都跟随其一起移动。
当该位置信息为目录名称信息时,还可以将两个目录的位置进行互换,例如当目录解密数据库中的数据包括{“name”:“dirA”,“level”:“1”,“UUID”:“6f6c8fdf-8082”,“dirname”:“dirA”,“exchange”:“dirB”}时,还可以将dirA目录与dirB目录的位置进行互换,从而使dirA目录与dirB目录恢复到加密前的位置上。
在对目录进行解密时,可以按照目录加密前所属层级的高低,以从高到低的顺序依次进行恢复处理。
需要说明的是,对加密源代码的目录进行解密的过程为对源代码中的目录进行加密过程的逆过程,该具体细节可参考上述实施例中对源代码中的目录进行加密的过程。
步骤204,基于所述文件解密数据库将所述目录解密后的源代码的各个文件的名称恢复为名称变换前的名称,并将经过位置变换后的文件恢复到位置变换前所在的位置上,生成文件解密后的源代码。
该步骤具体可以包括:基于所述文件解密数据库的指示,将加密源代码中每一个所述文件的UUID名称替换为该文件加密前的名称;基于所述文件解密数据库的指示,将经过位置变换后的每一个所述文件移动到该文件位置变换前所在的位置上,生成文佳解密后的源代码。
在对文件名称进行恢复时,可以根据文件解密数据库中的文件的名称与UUID的对应关系,将文件的UUID名称恢复为加密前的名称。并且如果在文件解密数据库中文件名称对应有位置变换后所在的位置信息,需要根据加密前所在的位置信息将该文件从当前位置移动到加密前的位置上。
在对文件的位置进行恢复时,可以根据文件解密数据库中的加密前所属的目录的名称,将该目录移动到相应的目录下。例如文件解密数据库中的数据包括{“name”:“fileA”,“UUID”:“449a8b76-0330”,“dirname”:“dirA”,“exchange”:“dirB”},在对前文件进行解密时,可以将该文件的名称由“449a8b76-0330”变换为“fileA”,再将fileA文件由当前位置,即由dirB的目录下移动到dirA目录下。当同一个目录下加密前所有的文件都恢复完后,可以根据各个文件加密前的排列序号,对各个文件进行排序,以使解密后的同一目录下的各个文件的排列顺序与加密前的排列顺序相同。
当位置变换后所在的位置信息为文件名称信息时,还可以将两个文件的位置进行互换,例如当文件解密数据库中的数据包括{“name”:“fileA”,“UUID”:“449a8b76-0330”,“dirname”:“dirA”,“exchange”:“fileB”}时,可以将fileA文件与fileB文件的位置进行互换,从而使fileA文件与fileB文件恢复到加密前的位置上。
需要说明的是,对加密源代码的文件进行解密的过程为对源代码中的文件进行加密过程的逆过程,该具体细节可参考上述实施例中对源代码中的文件进行加密的过程。
步骤205,基于所述代码块解密数据库对所述文件解密后的源代码的各个代码块的名称恢复为名称变换前的名称,并将经过位置变换后的代码块恢复到位置变换前所在的位置上,生成解密后的源代码。
该步骤具体可以包括:基于所述代码块解密数据库的指示,将加密源代码中每一个所述代码块的UUID名称替换为该代码块加密前的名称;基于所述代码块解密数据库的指示,将位置变换后的每一个所述代码块移动到该代码块位置变换前所在的位置上,生成解密后的源代码。
在对代码块名称进行恢复时,可以根据代码块解密数据库中的代码块的名称与UUID的对应关系,将代码块的UUID名称恢复为加密前的名称。并且如果在代码块解密数据库中代码块名称对应有位置变换后所在的位置信息,需要根据加密前所在的位置信息将该代码块从当前位置移动到加密前的位置上。
在对代码块的位置进行恢复时,可以根据代码块解密数据库中的加密前所属的文件的名称,将该目录移动到相应的文件中。例如当代码块解密数据库中的数据包括{“name”:“codeblockX”,“UUID”:“795f0a0a-0d3f”,“filename”:“fileA”,“exchange”:“fileB”}时,可以将codeblockX代码块移动到fileA文件中。当同一个文件中加密前所有的代码块都恢复完后,可以根据各个代码块加密前的排列序号,对各个代码块进行排序,以使文件中各个代码块的排序与加密前的排序相同。
当位置变换后所在的位置信息为文件名称信息时,还可以将两个文件的位置进行互换。例如代码块解密数据库中的数据包括{“name”:“codeblockX”,“UUID”:“795f0a0a-0d3f”,“filename”:“fileA”,“exchange”:“codeblockD”},在对前代码块进行解密时,可以将该代码块的名称由“795f0a0a-0d3f”变换为“codeblockX”,将codeblockX代码块与codeblockD代码块进行位置互换,从而使codeblockX代码块与codeblockD代码块都恢复到加密前的位置上。
需要说明的是,对加密源代码的代码块进行解密的过程为对源代码中的代码块进行加密过程的逆过程,该具体细节可参考上述实施例中对源代码中的代码块进行加密的过程。
本实施例不对源代码中的代码块、文件以及目录的位置信息的描述方式以及具体的位置变换方式进行限定。
本发明实施例能够基于代码加密装置提供的解密数据库,对加密源代码进行解密,既能够方便开发人员对源代码的使用,又能够提高源代码的安全性。
参见图3,为本发明实施例提供了一种代码加密装置,该装置可以包括获取单元301,确定单元302,处理单元303,变换单元304。
其中,获取单元301,用于获取待加密的源数据。
确定单元302,用于确定待加密的源代码的代码块信息。
处理单元303,用于基于所述代码块信息生成代码块混淆数据库,所述代码块混淆数据库包括代码块名称变换指示以及代码块位置变换指示。
变换单元304,用于基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换。
所述变换单元304,还用于基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换,生成第一加密源代码。
所述处理单元303,还用于生成所述代码块加密数据库对应的代码块解密数据库,所述代码块解密数据库包括每一个所述代码块的名称、加密前的第一位置信息以及对应的UUID。当所述代码块需要进行位置变换时,所述代码块解密数据库还包括所述代码块经过位置变换后所在的第二位置信息。
所述确定单元302,还用于确定待加密源代码的文件信息以及目录信息。
所述处理单元303,还用于基于所述文件信息生成文件混淆数据库以及基于所述目录信息生成目录混淆数据库,所述文件混淆数据库包括文件名称变换指示以及文件位置变换指示,所述目录混淆数据库包括目录名称变换指示以及目录位置变换指示。
所述变换单元304,还用于基于所述文件混淆数据库对所述第一加密源代码中的各个文件的名称进行变换,以及对至少一个所述文件的位置进行变换,生成第二加密源代码。
所述变换单元304,还用于基于所述目录混淆数据库对所述第二加密源代码中的各个目录的名称进行变换,以及对至少一个所述目录的位置进行变换,生成第三加密源代码。
所述处理单元303,还用于生成文件加密数据库对应的文件解密数据库,以及生成目录加密数据库对应的目录解密数据库。
所述文件解密数据库包括每一个所述文件的名称、加密前所属的目录的名称以及对应的UUID;当所述文件需要进行位置变换时,所述文件解密数据库还包括所述文件经过位置变换后所属的目录的名称。
所述目录解密数据库包括每一个所述目录的名称、加密前所在的层级信息以及对应的UUID;当所述目录需要进行位置变换时,所述目录解密数据库还包括所述目录经过位置变换后所在的层级信息。
优选地,所述代码块名称变换指示包括各个所述代码块对应的UUID。所述变换单元304,还用于基于所述代码块名称变换指示将所述源代码中的各个代码块的名称变换为相应的UUID。
优选地,所述代码块位置变换指示包括至少一个需要进行位置变换的代码块的名称以及相应的位置变换后的第二位置信息,所述第二位置信息为文件名称信息或代码块名称信息。所述变换单元304,还用于基于所述代码块位置变换指示将需要进行位置变换的代码块移动到所述文件名称信息对应的文件下或移动到所述代码块名称信息对应的代码块所在的位置上。
参见图4,为本发明实施例提供了一种代码解密装置,该装置具体可以包括发送单元401,接收单元402,恢复单元403。
其中,发送单元401,用于向代码加密装置发送解密认证信息。
接收单元402,用于接收所述代码加密装置基于所述解密认证信息发送的目录解密数据库、文件解密数据库以及代码块解密数据库。
恢复单元403,用于基于所述目录解密数据库将加密源代码的各个目录的名称恢复为名称变换前的名称,并将经过位置变换后的目录恢复到位置变换前所在的位置上,生成目录解密后的源代码。
所述恢复单元403,还用于基于所述文件解密数据库将所述目录解密后的源代码的各个文件的名称恢复为名称变换前的名称,并将经过位置变换后的文件恢复到位置变换前所在的位置上,生成文件解密后的源代码。
所述恢复单元403,还用于基于所述代码块解密数据库对所述文件解密后的源代码的各个代码块的名称恢复为名称变换前的名称,并将经过位置变换后的代码块恢复到位置变换前所在的位置上,生成解密后的源代码。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种代码加密方法,其特征在于,所述方法包括:
确定待加密的源代码的代码块信息;
基于所述代码块信息生成代码块混淆数据库,所述代码块混淆数据库包括代码块名称变换指示以及代码块位置变换指示;
基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换;
基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换,生成第一加密源代码;
还包括:
确定待加密源代码的文件信息以及目录信息;
基于所述文件信息生成文件混淆数据库以及基于所述目录信息生成目录混淆数据库,所述文件混淆数据库包括文件名称变换指示以及文件位置变换指示,所述目录混淆数据库包括目录名称变换指示以及目录位置变换指示;
基于所述文件混淆数据库对所述第一加密源代码中的各个文件的名称进行变换,以及对至少一个所述文件的位置进行变换,生成第二加密源代码;
基于所述目录混淆数据库对所述第二加密源代码中的各个目录的名称进行变换,以及对至少一个所述目录的位置进行变换,生成第三加密源代码。
2.如权利要求1所述的方法,其特征在于,所述代码块名称变换指示包括各个所述代码块对应的UUID;
基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换的步骤,包括:
基于所述代码块名称变换指示将所述源代码中的各个代码块的名称变换为相应的UUID。
3.如权利要求1所述的方法,其特征在于,还包括:
生成所述代码块加密数据库对应的代码块解密数据库,所述代码块解密数据库包括每一个所述代码块的名称、加密前的第一位置信息以及对应的UUID;
当所述代码块需要进行位置变换时,所述代码块解密数据库还包括所述代码块经过位置变换后所在的第二位置信息。
4.如权利要求1所述的方法,其特征在于,还包括:
生成文件加密数据库对应的文件解密数据库,以及生成目录加密数据库对应的目录解密数据库;
所述文件解密数据库包括每一个所述文件的名称、加密前所属的目录的名称以及对应的UUID;当所述文件需要进行位置变换时,所述文件解密数据库还包括所述文件经过位置变换后所属的目录的名称;
所述目录解密数据库包括每一个所述目录的名称、加密前所在的层级信息以及对应的UUID;当所述目录需要进行位置变换时,所述目录解密数据库还包括所述目录经过位置变换后所在的层级信息。
5.一种代码解密方法,其特征在于,所述方法包括:
向代码加密装置发送解密认证信息;
接收所述代码加密装置基于所述解密认证信息发送的目录解密数据库、文件解密数据库以及代码块解密数据库;
基于所述目录解密数据库将加密源代码的各个目录的名称恢复为名称变换前的名称,并将经过位置变换后的目录恢复到位置变换前所在的位置上,生成目录解密后的源代码;
基于所述文件解密数据库将所述目录解密后的源代码的各个文件的名称恢复为名称变换前的名称,并将经过位置变换后的文件恢复到位置变换前所在的位置上,生成文件解密后的源代码;
基于所述代码块解密数据库对所述文件解密后的源代码的各个代码块的名称恢复为名称变换前的名称,并将经过位置变换后的代码块恢复到位置变换前所在的位置上,生成解密后的源代码。
6.一种代码加密装置,其特征在于,所述装置包括:
确定单元,用于确定待加密的源代码的代码块信息;
处理单元,用于基于所述代码块信息生成代码块混淆数据库,所述代码块混淆数据库包括代码块名称变换指示以及代码块位置变换指示;
变换单元,用于基于所述代码块名称变换指示对所述源代码中的各个代码块的名称进行变换;
所述变换单元,还用于基于所述代码块位置变换指示对至少一个所述代码块的位置进行变换,生成第一加密源代码;
所述确定单元,还用于确定待加密源代码的文件信息以及目录信息;
所述处理单元,还用于基于所述文件信息生成文件混淆数据库以及基于所述目录信息生成目录混淆数据库,所述文件混淆数据库包括文件名称变换指示以及文件位置变换指示,所述目录混淆数据库包括目录名称变换指示以及目录位置变换指示;
所述变换单元,还用于基于所述文件混淆数据库对所述第一加密源代码中的各个文件的名称进行变换,以及对至少一个所述文件的位置进行变换,生成第二加密源代码;
所述变换单元,还用于基于所述目录混淆数据库对所述第二加密源代码中的各个目录的名称进行变换,以及对至少一个所述目录的位置进行变换,生成第三加密源代码。
7.如权利要求6所述的装置,其特征在于,
所述处理单元,还用于生成所述代码块加密数据库对应的代码块解密数据库,生成所述文件加密数据库对应的文件解密数据库以及生成所述目录加密数据库对应的目录解密数据库;
所述代码块解密数据库包括每一个所述代码块的名称、加密前的第一位置信息以及对应的UUID;当所述代码块需要进行位置变换时,所述代码块解密数据库还包括所述代码块经过位置变换后所在的第二位置信息;
所述文件解密数据库包括每一个所述文件的名称、加密前所属的目录的名称以及对应的UUID;当所述文件需要进行位置变换时,所述文件解密数据库还包括所述文件经过位置变换后所属的目录的名称;
所述目录解密数据库包括每一个所述目录的名称、加密前所在的层级信息以及对应的UUID;当所述目录需要进行位置变换时,所述目录解密数据库还包括所述目录经过位置变换后所在的层级信息。
8.一种代码解密装置,其特征在于,所述装置包括:
发送单元,用于向代码加密装置发送解密认证信息;
接收单元,用于接收所述代码加密装置基于所述解密认证信息发送的目录解密数据库、文件解密数据库以及代码块解密数据库;
恢复单元,用于基于所述目录解密数据库将加密源代码的各个目录的名称恢复为名称变换前的名称,并将经过位置变换后的目录恢复到位置变换前所在的位置上,生成目录解密后的源代码;
所述恢复单元,还用于基于所述文件解密数据库将所述目录解密后的源代码的各个文件的名称恢复为名称变换前的名称,并将经过位置变换后的文件恢复到位置变换前所在的位置上,生成文件解密后的源代码;
所述恢复单元,还用于基于所述代码块解密数据库对所述文件解密后的源代码的各个代码块的名称恢复为名称变换前的名称,并将经过位置变换后的代码块恢复到位置变换前所在的位置上,生成解密后的源代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711470278.5A CN107992725B (zh) | 2017-12-29 | 2017-12-29 | 一种代码加密、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711470278.5A CN107992725B (zh) | 2017-12-29 | 2017-12-29 | 一种代码加密、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107992725A CN107992725A (zh) | 2018-05-04 |
CN107992725B true CN107992725B (zh) | 2020-08-07 |
Family
ID=62042251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711470278.5A Active CN107992725B (zh) | 2017-12-29 | 2017-12-29 | 一种代码加密、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107992725B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177749B (zh) * | 2019-12-18 | 2022-06-14 | 深圳市金蝶天燕云计算股份有限公司 | 加密源代码文件处理方法、装置、计算机设备和存储介质 |
US20230195860A1 (en) * | 2021-12-20 | 2023-06-22 | International Business Machines Corporation | Selective on-demand execution encryption |
CN116226888B (zh) * | 2023-04-28 | 2024-01-12 | 北京国电通网络技术有限公司 | 基于隐私保护的电力数据交互加密方法、系统与设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160057038A (ko) * | 2014-11-12 | 2016-05-23 | 삼성에스디에스 주식회사 | 큐알 코드의 암호화 및 복호화를 위한 장치 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0421774D0 (en) * | 2004-09-30 | 2004-11-03 | Ttp Communications Ltd | Source code protection |
CN104102860A (zh) * | 2014-08-11 | 2014-10-15 | 北京奇虎科技有限公司 | 安卓平台应用程序的保护方法、运行方法、装置及系统 |
CN105354449B (zh) * | 2015-11-04 | 2018-08-21 | 北京鼎源科技有限公司 | 一种面向Lua语言的加扰混淆方法和解密方法 |
CN105701410B (zh) * | 2015-12-31 | 2019-03-01 | 华为技术有限公司 | 一种获得源代码中信息的方法、装置及系统 |
CN107122662A (zh) * | 2017-04-12 | 2017-09-01 | 金陵科技学院 | 一种基于Proguard软件的移动互联网App代码混淆测评方法 |
CN107506651B (zh) * | 2017-07-04 | 2021-10-22 | 环玺信息科技(上海)有限公司 | 一种代码加密方法及系统 |
-
2017
- 2017-12-29 CN CN201711470278.5A patent/CN107992725B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160057038A (ko) * | 2014-11-12 | 2016-05-23 | 삼성에스디에스 주식회사 | 큐알 코드의 암호화 및 복호화를 위한 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN107992725A (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785033B2 (en) | Method for storing an object on a plurality of storage nodes | |
CN108768972B (zh) | 车辆数据的存储和访问方法及装置、系统、电子设备 | |
TW202034654A (zh) | 用於透過區塊鏈網路有效安全處理、存取及傳輸資料之系統與方法(三) | |
CN107481140B (zh) | 凭证标识码处理方法及系统、服务器及存储介质 | |
CN104995632B (zh) | 隐私保护数据库系统 | |
CN109074434A (zh) | 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和系统 | |
CN107992725B (zh) | 一种代码加密、解密方法及装置 | |
CN102685148A (zh) | 一种云存储环境下的安全网盘系统的实现方法 | |
CN109194633B (zh) | 通讯录备份方法及系统 | |
CN109063498A (zh) | 数字资产存储方法、装置、恢复方法及装置 | |
CN104866394A (zh) | 一种分布式文件备份方法和系统 | |
JP6653246B2 (ja) | 計算機システム及びデータ管理方法 | |
CN114697048B (zh) | 基于区块链的碳排放数据共享方法和系统 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
CN111709047B (zh) | 信息管理系统及其方法 | |
CN107094075A (zh) | 一种基于收敛加密的数据块动态操作方法 | |
CN115203728A (zh) | 基于联盟区块链和大数据的金融数据安全存储系统及方法 | |
JP2003163662A (ja) | 航空機保守用ペーパレスレコード | |
CN108494552B (zh) | 支持高效收敛密钥管理的云存储数据去重方法 | |
CN109214198B (zh) | 一种可加密搜索的安全云文档系统 | |
JP5586397B2 (ja) | セキュア・ネットワーク・ストレージ・システム、方法、クライアント装置、サーバ装置、及びプログラム | |
KR101895895B1 (ko) | 데이터 중복 제거 방법 및 시스템 | |
CN109670338A (zh) | 一种数据全程加密的方法与系统 | |
Ganorkar et al. | An information security scheme for cloud based environment using 3DES encryption algorithm | |
JP2009207061A (ja) | 着脱式デバイス、ログ収集方法、プログラム及び記録媒体 |
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: 20210112 Address after: 100193 rooms 4-15, 4th floor, building 10, East District, courtyard 10, northwest Wangdong Road, Haidian District, Beijing Patentee after: BEIJING WELINK Co.,Ltd. Address before: 100084 4034, 4th floor, No.18, shangdixinxi Road, Haidian District, Beijing Patentee before: BEIJING GALAXY CLOUD INFORMATION TECHNOLOGY Co.,Ltd. Patentee before: BEIJING GALAXY WORLD GROUP Co.,Ltd. |
|
TR01 | Transfer of patent right |