CN110780884B - 一种信息处理方法、装置及设备 - Google Patents
一种信息处理方法、装置及设备 Download PDFInfo
- Publication number
- CN110780884B CN110780884B CN201910837732.9A CN201910837732A CN110780884B CN 110780884 B CN110780884 B CN 110780884B CN 201910837732 A CN201910837732 A CN 201910837732A CN 110780884 B CN110780884 B CN 110780884B
- Authority
- CN
- China
- Prior art keywords
- information
- loaded
- module
- hash value
- deployed
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种信息处理方法、装置及设备;该方法包括:通过加载模块获取执行模块发出的信息加载请求;响应信息加载请求,加载待加载信息;已部署信息为完成部署的应用程序信息;当通过解密模块从待加载信息中查找到加密标识时,基于加密标识对待加载信息进行解密;加密标识为预先设置的用于表征已加密的标识;通过翻译模块对解密后的待加载信息进行翻译,得到第一可执行信息;第一可执行信息为基于已加密的待加载信息翻译出的用于执行的应用程序信息;通过执行模块执行第一可执行信息,实现待加载信息对应的功能应用。通过本发明实施例,能够实现加密后的已部署信息对应的功能应用。
Description
技术领域
本发明涉及计算机领域中的信息处理技术,尤其涉及一种信息处理方法、装置及设备。
背景技术
软件部署指将软件项目本身(包括配置文件、用户手册、帮助文档等)进行收集、打包、安装、配置和发布的过程,包括开发商的软件打包;通过软件部署,才能使开发人员开发出的产品投入到应用中。
一般来说,为了保证已部署信息的安全性,通常在部署前对待部署信息进行加密;然而,在对已部署信息进行加载来实现对应功能时,存在翻译模块无法翻译该加密后的已部署信息的问题,从而,无法实现对应的功能应用。
发明内容
本发明实施例提供一种信息处理方法、装置及设备,能够实现加密后的已部署信息对应的功能应用。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种信息处理方法,包括:
通过加载模块获取执行模块发出的信息加载请求;
响应所述信息加载请求,加载待加载信息;所述已部署信息为完成部署的应用程序信息;
当通过解密模块从所述待加载信息中查找到加密标识时,基于所述加密标识对所述待加载信息进行解密;所述加密标识为预先设置的用于表征已加密的标识;
通过翻译模块对解密后的待加载信息进行翻译,得到第一可执行信息;所述第一可执行信息为基于已加密的所述待加载信息翻译出的用于执行的应用程序信息;
通过所述执行模块执行所述第一可执行信息,实现所述待加载信息对应的功能应用。
本发明实施例提供一种信息处理装置,包括:
加载模块,用于获取执行模块发出的信息加载请求;
所述加载模块,还用于响应所述信息加载请求,加载待加载信息;所述已部署信息为完成部署的应用程序信息;
解密模块,用于当从所述待加载信息中查找到加密标识时,基于所述加密标识对所述待加载信息进行解密;所述加密标识为预先设置的用于表征已加密的标识;
翻译模块,用于对解密后的待加载信息进行翻译,得到第一可执行信息;所述第一可执行信息为基于已加密的所述待加载信息翻译出的用于执行的应用程序信息;
所述执行模块,用于执行所述第一可执行信息,实现所述待加载信息对应的功能应用。
本发明实施例提供一种信息处理设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的方法。
本发明实施例具有以下有益效果:由于本发明实施例中的信息处理装置中设置有解密模块,能够在确定出加载模块从已部署信息加载出的待加载信息是已加密的信息时,对该待加载信息进行解密后再由翻译模块翻译成第一可执行信息;如此,通过执行翻译出的第一可执行信息就能够实现待加载信息对应的功能应用,也就实现了加密后的已部署信息对应的功能应用。
附图说明
图1是本发明实施例提供的信息处理系统100的一个可选的架构示意图;
图2是本发明实施例提供的服务器200的结构示意图;
图3是本发明实施例提供的信息处理方法的一个可选的流程示意图;
图4是本发明实施例提供的一种实现功能应用的交互示意图;
图5是本发明实施例提供的信息处理系统100的另一个可选的架构示意图;
图6是本发明实施例提供的信息处理方法的另一个可选的流程示意图;
图7是本发明实施例提供的信息处理方法的又一个可选的流程示意图;
图8是本发明实施例提供的一种示例性的应用示意图;
图9为本发明实施例提供了另一种示例性的应用示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”和“本发明实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”和“本发明实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本发明实施例所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明实施例中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)密钥,是在将明文转换为密文或将密文转换为明文的算法中输入的一种参数,指用来完成加密、解密、完整性验证等密码学应用的秘密信息。其中,密钥分为对称密钥与非对称密钥,对称密钥应用在对称密码学中,由于加密和解密用的是同一个密钥,因此称为对称密钥;而非对称密钥应用在在非对称密码学中,由于加密和解密用的密钥不同,因此称为非对称密钥,并且非对称密钥中,通常一个是公开的,称为公钥或公开密钥,另一个保密,称为私钥或私用密钥。
2)对称密钥加密,又称私钥加密或会话密钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据,加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
3)非对称密钥加密,又称公钥密钥加密,需要使用两个不同的密钥来分别完成加密和解密操作,即信息发送者用公钥或公开密钥去加密,而信息接收者则用私钥或私用密钥去解密,加/解密速度慢。
4)MD5消息摘要算法(MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。
5)Node.js,是一种构建于浏览器引擎“Chrome V8”的JavaScript运行环境,即运行在服务端的JavaScript,内建了HTTP服务器,能够直接实现网站和服务器功能。
6)可执行信息,指操作系统存储空间中的二进制可执行程序。
随着计算机技术的发展,Node.js因自身的高并发下的高性能、在浏览器端的通用性和高开发效率等特性得到了广泛应用,成为了最受欢迎和最热门的语言之一。然而,Node.js作为脚本语言具有代码易读性和不可加密性。
在一些应用场景中,需要将Node.js源码部署在第三方的服务器上,比如,将开发的具有医用功能的Node.js源码部署在医院提供的服务器上;如此,Node.js源码就暴露在第三方面前,会导致源码、配置文件和密码等信息的泄露,造成损失;因此,考虑到Node.js源码的安全性,通常在部署之前,对Node.js源码进行安全处理。常用的安全处理方式包括三种,一种安全处理方式是将Node.js源码打包封装成可执行程序(比如,安装包配置文件、“Nodec”和“encodejs”等),然而,打包封装后的可执行程序通过反编译程序能够得到Node.js源码,并在对打包封装后的可执行程序进行加载时,对于来源于拼接方式的一些模块路径则需用特定方式拼接实现加载;故,该安全处理方式的安全性低。
另一种安全处理方式是对Node.js源码进行混淆处理,通过降低Node.js源码的可读性,来增大了处理后的Node.js的破译难度,比如“jshaman”处理方式:首先,对Node.js源码进行保护配置(压缩代码、字符串阵列化和混淆字符串阵列等);然后,根据保护配置使用预设混淆信息对Node.js源码进行混淆处理,得到混淆加密后的Node.js源码。然而,该安全处理方式并非对Node.js源码进行了加密处理,通过暴力破解方式仍能够从混淆加密后的Node.js源码中获取到Node.js源码;故,该安全处理方式的安全性也低。
第三种安全处理方式是对Node.js源码进行加密处理,加密后的Node.js源码的破解可能性低,故,安全处理方式的安全性高。然而,当对加密后的Node.js源码完成部署后,基于现有的Node.js加载机制,无法实现对加密后的Node.js源码的加载,从而无法实现加密的已部署的Node.js源码对应的功能应用。
基于此,本发明实施例提供一种信息处理方法、装置及设备,能够实现加密后的已部署信息对应的功能应用,下面说明本发明实施例提供的信息处理设备的示例性应用,本发明实施例提供的信息处理设备可以实施为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,也可以实施为服务器。下面,将说明信息处理设备实施为服务器时示例性应用。
参见图1,图1是本发明实施例提供的信息处理系统100的一个可选的架构示意图,为实现支撑一个信息处理应用,终端400(示例性地示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400用于向服务器200发送功能应用实现请求。而服务器200用于对待部署信息进行加密和部署,还用于从终端400获取功能应用实现请求,根据功能应用实现请求将加密和部署后的信息进行解密和加载以实现功能应用。
参见图2,图2是本发明实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
显示模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的信息处理装置可以采用软件方式实现,图2示出了存储在存储器250中的信息处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:加载模块2551、执行模块2552、解密模块2553、翻译模块2554、加密模块2555和部署模块2556,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的信息处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的信息处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的信息处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面,将结合本发明实施例提供的信息处理设备实施为服务器的示例性应用和实施,说明本发明实施例提供的信息处理方法。
参见图3,图3是本发明实施例提供的信息处理方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
S101、通过加载模块获取执行模块发出的信息加载请求。
在本发明实施例中,信息处理设备中设置有加载模块和执行模块;其中,执行模块用于响应信息执行请求,根据该信息执行请求生成对信息进行加载的请求,即信息加载请求,并将该信息加载请求发送至加载模块;而加载模块能够与执行模块进行数据交互,用于接收执行模块发送的信息加载请求,以加载信息加载请求所对应的信息;这里,信息执行请求指执行功能应用程序的请求。
需要说明的是,在信息处理设备实现某功能应用时,是通过执行功能应用程序实现的;而该功能应用程序是部署在信息处理设备上的信息,通过加载或调用该功能应用程序并执行,就能够实现对应的功能应用。因此,这里,首先由执行模块向加载模块发出信息加载请求,此时,加载模块也就获得了信息加载请求。
S102、响应信息加载请求,加载待加载信息;待加载信息为完成部署的应用程序信息。
在本发明实施例中,当信息处理设备中的加载模块从执行模块获取到信息加载请求之后,响应该信息加载请求加载该信息加载请求对应的信息。这里,加载模块根据信息加载请求中的信息标识加载待加载信息,其中,待加载信息为完成部署的应用程序信息,即上文中提及到的功能应用程序,待加载信息也为信息加载请求对应的功能应用程序。
进一步地,在本发明实施例中,该待加载信息为Node.js程序。
S103、当通过解密模块从待加载信息中查找到加密标识时,对待加载信息进行解密;加密标识为预先设置的用于表征已加密的标识。
在本发明实施例中,当信息处理设备中的加载模块完成了待加载信息的加载之后,待加载信息可能是已加密的信息,而当待加载信息是已加密的信息时,信息处理设备是无法直接翻译该待加密信息的;这里,信息处理设备中还设置有解密模块,该解密模块首先确定该待加密信息是不是已加密的信息,具体通过在待加载信息中查找加密标识来确定:如果解密模块从待加载信息中查找到了加密标识,则表明待加载信息为已加密的信息;此时,信息处理设备通过解密模块对待加载信息进行解密,以能够实现对待加密信息的翻译。
需要说明的是,加密标识是信息处理设备预先设置的用于与表征已加密的标识,比如,固定字符串。而解密模块能够与加载模块进行数据交互,从加载模块中获取到待加载信息进行是否加密的判断,以及在确定了待加密信息为已加密的信息之后对待加密信息进行解密。
S104、通过翻译模块对解密后的待加载信息进行翻译,得到第一可执行信息;第一可执行信息为基于已加密的待加载信息翻译出的用于执行的应用程序信息。
在本发明实施例中,信息处理设备中还设置有翻译模块,翻译模块与解密模块能够进行数据交互;当解密模块完成了对待加载信息的解密之后,将解密后的待加载信息发送给翻译模块;翻译模块接收到解密后的待加载信息之后,对解密后的待加载信息进行翻译,所翻译出的解密后的待加载信息即第一可执行信息。
需要说明的是,执行模块中仅能执行可执行信息,而可执行信息是由翻译模块翻译出来的,也就是说,翻译模块用于将功能应用程序翻译成可执行信息。另外,第一可执行信息为基于已加密的待加载信息翻译出的用于执行的应用程序信息。
S105、通过执行模块执行第一可执行信息,实现待加载信息对应的功能应用。
在本发明实施例中,当信息处理设备中的翻译模块完成了对解密后的待加载信息的解密而得到了第一可执行信息之后,将该第一可执行信息发送给执行模块;执行模块接收到第一可执行信息之后,执行该第一可执行信息;在执行模块完成该第一可执行信息的执行时,也就实现了待加载信息对应的功能应用。这里,待加载信息对应的功能应用即生成信息执行请求时所请求实现的功能应用。
需要说明的是,加载模块、解密模块、翻译模块和执行模块之间进行数据交互所传输的信息的格式,均是采用的对应模块之间的格式。比如,解密模块向翻译模块发送的解密后的待加载信息,是解密模块通过对待加载信息进行解密以及拼接处理得到的信息。
参见图4,图4是本发明实施例提供的一种实现功能应用的交互示意图,如图4所示,信息处理设备在实现功能应用时,首先,执行模块通过信息加载请求通知加载模块进行待加载信息的加载,加载模块将加载到的待加载信息发送给解密模块;然后,由解密模块在确定待加载信息为已加密的信息时对待加载信息进行解密,并将解密后的待加载信息发送给翻译模块;再后,由翻译模块将解密后的待加载信息翻译成第一可执行信息,并将第一可执行信息发送给执行模块;最后,执行模块执行第一可执行信息来实现功能应用。
可以理解的是,当待加载信息为Node.js程序时,信息处理设备中通过设置加载模块、解密模块、翻译模块和执行模块,实现了在确保部署的Node.js程序安全性的情况下,同时实现了Node.js程序对应的功能应用。
参见图5,图5是本发明实施例提供的信息处理系统100的另一个可选的架构示意图,基于图1,终端400还用于向服务器200发送待部署信息。而服务器200还用于接收终端400发送的待部署信息,对待部署信息进行加密和部署。
进一步地,参见图6,图6是本发明实施例提供的信息处理方法的另一个可选的流程示意图,其中,图6基于图3,图6中S101-S105与图3中S101-S105一致,本发明实施例在此不再赘述。如图6所示:在本发明实施例中,S102中,信息处理设备中的加载模块加载待加载信息之前,该信息处理方法还包括对待部署信息进行解密并部署得到待加载信息的过程,即S106-S107,其中:
S106、在对待部署信息进行部署时,通过加密模块对待部署信息进行加密;待部署信息为通过部署实现功能应用的应用程序信息。
需要说明的是,由于通过将源码部署后才能通过加载、翻译和执行来实现对应的功能应用,因此,信息处理设备还具备对源码进行部署的功能;这里,源码即待部署信息,也就是说,待部署信息为通过部署实现功能应用的应用程序信息。
在本发明实施例中,信息处理设备中还设置有加密模块,为保证部署后源码的安全性,信息处理设备对待部署信息进行部署时,先通过加密模块对待部署信息进行加密,使待部署信息由明文变为密文;另外,加密模块可以是采用加密脚本实现的功能模块。
还需要说明的是,加密模块对待部署信息进行加密时,可采用对称密钥加密,还可采用非对称密钥加密(比如,高级加密标准加密算法),还可采用其他加密算法,本发明实时例对此不作具体限定。然而,加密模块和解密模块是对应设置的,即加密模块加密时所采用的加密算法与解密模块解密时所采用的解密算法一致;比如,当加密模块采用对称密钥加密的密钥对待部署信息进行加密时,解密模块采用对称密钥加密的密钥对已加载信息进行解密。
可以理解的是,信息处理设备中的加密模块通过对待部署信息进行加密,实现了真正意义的代码加密,使待部署信息以密文形式进行部署,提升了待部署信息的安全性。另外,待部署信息的开发过程中并未改变,未增加编码规则,因此,实施简单,可实施性强。
S107、对加密后的待部署信息进行部署,得到待加载信息。
在本发明实施例中,信息处理设备通过加密模块完成对待部署信息的加密后,对加密后的待部署信息进行部署,完成部署后也就得到了待加载信息。
可以理解的是,信息处理设备通过加密模块在对待部署信息部署之前,将待部署信息从明文加密为密文,之后,再将密文即加密后的待部署信息进行部署;如此,得到的待加载信息即为加密后的信息,故,确保了部署的待加载信息的安全性。
进一步地,在本发明实施例中,S106中信息处理设备通过加密模块对待部署信息进行加密,包括S1061-S1062,其中:
S1061、通过加密模块获取待部署信息的密码散列值;密码散列值为待部署信息的指纹信息。
在本发明实施例中,信息处理设备中的加密模块对待部署信息进行加密时,需要先获取用于加密的加密密钥。这里,加密模块将待部署信息的指纹信息即密码散列值作为加密密钥的部分信息。
S1062、将密码散列值与加密标识作为加密密钥,对待部署信息进行加密。
在本发明实施例中,信息处理设备中的加密模块获得了密码散列值之后,加密模块还预先设置有加密标识,将密码散列值和加密标识功能组合为加密密钥,来对待部署信息进行加密。也就是说,加密密钥包括两部分信息,一部分为密码散列值,另一部分为加密标识。
相应地,在本发明实施例中,S107中信息处理设备对加密后的待部署信息进行部署,得到待加载信息,包括:将加密后的待部署信息、密码散列值和加密标识作为部署信息进行部署,得到待加载信息。
进一步地,在本发明实施例中,S1061中通过加密模块获取待部署信息的密码散列值,包括S10611-S10612,其中:
S10611、通过加密模块,依据散列值处理算法,计算待部署信息的散列值,得到初始密码散列值。
在本发明实施例中,信息处理设备通过加密模块首先确定用于计算散列值的算法,即散列值处理算法,然后依据该散列值处理算法,计算待部署信息的散列值,所计算出的散列值即初始密码散列值。
需要说明的是,散列值处理算法用于计算散列值,比如,MD5算法;初始密码散列值为待部署信息所对应的散列值,比如,MD5值。
S10612、依据散列值提取规则,从初始密码散列值中,提取密码散列值。
在本发明实施例中,当信息处理设备中的加密模块获得了初始密码散列值之后,根据预先设置的散列值提取规则,从初始密码散列值中提取散列值来组合为密码散列值。这里,加密模块可以从初始密码散列值中提取部分信息组成密码散列值,还可以从初始密码散列值中提取全部信息组成密码散列值,本发明实施例中依据加密处理时所采用的加密算法进行确定;比如,当加密算法需要128位加密密钥时,并设置加密密钥中120位为密码散列值,如果此时初始密码散列值为128位,则需要从初始密码散列值中选择120位作为密码散列值来组合加密密钥。
需要说明的是,当信息处理设备中的加密模块从初始密码散列值中提取部分信息组成密码散列值时,S10612中,信息处理设备中的加密模块依据散列值提取规则,从初始密码散列值中,提取密码散列值,包括:依据散列值提取规则,从初始密码散列值中,提取固定位置和/或动态位置的散列值,得到密码散列值。
也就是说,信息处理设备中的加密模块可以将初始密码散列值中的固定位置和/或动态位置处的散列值进行提取,以作为密码散列值。比如,当初始密码散列值为128位散列值时,如果此时,加密模块需要提取120位散列值作为密码散列值,可以将前120位的散列值或第3-122位的散列值或随机120位的散列值等作为密码散列值;这里,前120位和第3-122位即为固定位置,随机120位即为动态位置。
进一步地,在本发明实施例中,S103中当通过解密模块从待加载信息中查找到加密标识时,对待加载信息进行解密,包括S1031-S1032,其中:
S1031、当通过解密模块从待加载信息中查找到加密标识时,从待加载信息中,提取密码散列值。
在本发明实施例中,由于待加载信息是将密码散列值和加密标识作为加密密钥进行加密得到的,因此,当加密时的加密算法为对称密钥加密算法时,解密模块也需要将加密密钥作为解密密钥对待加载信息进行解密;这里,当信息处理设备中的解密模块从待加载信息中查找到加密标识时,还需要从待加载信息中提取密码散列值,才能得到用于解密的解密密钥。
S1032、将加密标识和密码散列值作为解密密钥,对待加载信息进行解密。
在本发明实施例中,当信息处理设备中的解密模块从待加载信息中获得了加密标识和密码散列值之后,将加密标识和密码散列值共同作为解密密钥,来对待加载信息进行解密。
进一步地,参见图7,图7是本发明实施例提供的信息处理方法的又一个可选的流程示意图,其中,图7基于图3,图7中S101-S102与图3中S101-S102一致,本发明实施例在此不再赘述。图7示出了信息处理设备还具备对未加密的待加载信息进行加载来实现对应的功能应用的功能;比如,当待加载信息为未存在安全隐患的应用程序信息或待调试的源码时;因此,在本发明实施例中,S102中,信息处理设备中的加载模块加载待加载信息之后,该信息处理方法还包括待加载信息为未加密的信息的情况,即S108-S109,其中:
S108、当通过解密模块从待加载信息中未查找到加密标识时,通过翻译模块对待加载信息进行翻译,得到第二可执行信息;第二可执行信息为基于未加密的待加载信息翻译出的用于执行的应用程序信息。
在本发明实施例中,由于加密标识为预先设置的用于表征已加密的标识,因此,当信息处理设备中的解密模块从待加载信息中未查找到加密标识时,则表明待加载信息为未加密的信息。对于未加密的信息,信息处理设备中的翻译模块是能够对其直接进行翻译的;从而解密模块将待加载信息直接发送给翻译模块,由翻译模块对待加载信息进行翻译。
S109、通过执行模块执行第二可执行信息,实现待加载信息对应的功能应用。
在本发明实施例中,当信息处理设备中的翻译模块完成了对待加载信息的解密而得到了第二可执行信息之后,将该第二可执行信息发送给执行模块;执行模块接收到第二可执行信息之后,执行该第二可执行信息;在执行模块完成该第二可执行信息的执行时,也就实现了待加载信息对应的功能应用。
可以理解是,解密模块在未查找到加密标识时,通过加载模块、解密模块、翻译模块和执行模块仍能实现待加载信息的功能应用;也就是说,本发明实施例能够在部署的源码以明文或密文部署的两种情况下实现功能应用。
下面,将说明本发明实施例在实际的应用场景中的示例性应用。
参见图8,图8是本发明实施例提供的一种示例性的应用示意图,如图8所示:
首先,当合理用药功能的Node.js源码完成开发需部署在医院的服务器上时,加密模块采用AES-256对称密钥加密算法对合理用药功能的Node.js源码进行加密,而加密密钥由合理用药功能的Node.js源码的MD5值的MD5子串,以及固定字符串组成;这里,医院的服务器即信息处理设备,合理用药功能的Node.js源码即待部署信息,合理用药功能的Node.js源码的MD5值即初始密码散列值,MD5子串即密码散列值,固定字符串即加密标识。并将MD5子串和固定字符串,以及加密后的合理用药功能的Node.js源码,共同放入与合理用药功能的Node.js源码同名的源码文件中进行部署,部署的源码文件即待加载信息。
然后,当从终端400获取到实现合理用药功能请求时,执行模块也就接收后的了信息执行请求;此时,执行模块响应该信息执行请求,向加载模块发出加载合理用药的Node.js源码的请求,即信息加载请求;加载模块根据合理用药的Node.js源码的加载请求,加载部署的源码文件,加载部署的源码文件并将部署的源码文件发送至解密模块。
最后,解密模块从接收到部署的源码文件中查找固定字符串,若查找到固定字符串,则继续从部署的源码文件中提取中MD5子串和加密后的合理用药功能的Node.js源码,将固定字符串和MD5子串作为解密密钥,并依据AES-256对称密钥加密算法对加密后的合理用药功能的Node.js源码进行解密,将解密后的合理用药功能的Node.js源码经过字符拼接等处理后作为解密后的文件(解密后的待加载信息)发送至浏览器引擎“Chrome V8”(翻译模块)进行翻译,以翻译成能够被执行模块的可执行对象(第一可执行信息),实现合理用药功能。
继续参见图9,基于8,图9为本发明实施例提供了另一种示例性的应用示意图,其中,得到部署的源码文件的过程与图8中的过程描述一致,本发明实施例在此不再赘述。如图9所示:
首先,当发现合理用药功能的实现问题,需要对部署的源码文件进行调试时,用开发出的合理用药功能的Node.js源码(也可以是增加了调试代码的开发出的合理用药功能的Node.js源码)对部署的源码文件进行替换,此时,待加载信息即开发出的合理用药功能的Node.js源码与调试代码。
然后,当执行模块接收到调试请求时,响应该调试请求,向加载模块发出加载合理用药的Node.js源码的请求,即信息加载请求;加载模块根据合理用药的Node.js源码的加载请求,加载替换后的部署的源码文件,并将替换后的部署的源码文件发送至解密模块。
最后,解密模块从接收到替换后的部署的源码文件中查找固定字符串,因为未查找到固定字符串,所以将合理用药功能的Node.js源码经过字符拼接等处理后发送至Chrome V8进行翻译,以翻译成能够被执行模块的可执行对象(第二可执行信息),实现合理用药功能,此时也就完成了调试工作。
由上可知,采用本发明实施例提供的信息处理方法,具备调试可行性和简便性。
下面继续说明本发明实施例提供的信息处理装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的信息处理装置255中的软件模块可以包括:
加载模块2551,用于获取执行模块2552发出的信息加载请求;
所述加载模块2551,还用于响应所述信息加载请求,加载待加载信息;所述待加载信息为完成部署的应用程序信息;
解密模块2553,用于当从所述待加载信息中查找到加密标识时,基于所述加密标识对所述待加载信息进行解密;所述加密标识为预先设置的用于表征已加密的标识;
翻译模块2554,用于对解密后的待加载信息进行翻译,得到第一可执行信息;所述第一可执行信息为基于已加密的所述待加载信息翻译出的用于执行的应用程序信息;
所述执行模块2552,用于执行所述第一可执行信息,实现所述待加载信息对应的功能应用。
进一步地,所述信息处理装置255还包括加密模块2555和部署模块2556,其中,所述加密模块2555,用于在对待部署信息进行部署时,通过加密模块对所述待部署信息进行加密;所述待部署信息为通过部署实现功能应用的应用程序信息;
所述部署模块2556,用于对加密后的待部署信息进行部署,得到所述待加载信息。
进一步地,所述加密模块2555,还用于通过所述加密模块获取所述待部署信息的密码散列值;所述密码散列值为所述待部署信息的指纹信息;以及将所述密码散列值与所述加密标识作为加密密钥,对所述待部署信息进行加密。
相应地,所述部署模块2556,还用于将所述加密后的待部署信息、所述密码散列值和所述加密标识作为部署信息进行部署,得到所述待加载信息。
进一步地,所述加密模块2555,还用于通过所述加密模块,依据散列值处理算法,计算所述待部署信息的散列值,得到初始密码散列值;以及依据散列值提取规则,从所述初始密码散列值中,提取所述密码散列值。
进一步地,所述加密模块2555,还用于依据所述散列值提取规则,从所述初始密码散列值中,提取固定位置和/或动态位置的散列值,得到所述密码散列值。
进一步地,所述解密模块2553,还用于当通过所述解密模块从所述待加载信息中查找到所述加密标识时,从所述待加载信息中,提取密码散列值;以及将所述加密标识和所述密码散列值作为解密密钥,对所述待加载信息进行解密。
进一步地,所述翻译模块2554,还用于当通过所述解密模块从所述待加载信息中未查找到所述加密标识时,对所述待加载信息进行翻译,得到第二可执行信息;所述第二可执行信息为基于未加密的所述待加载信息翻译出的用于执行的应用程序信息;
所述执行模块2552,还用于执行所述第二可执行信息,实现所述待加载信息对应的功能应用。
进一步地,所述待加载信息为Node.js程序。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,由于本发明实施例中的信息处理装置中设置有解密模块,能够在确定出加载模块从已部署信息加载出的待加载信息是已加密的信息时,对该待加载信息进行解密后再由翻译模块翻译成第一可执行信息;如此,通过执行翻译出的第一可执行信息就能够实现待加载信息对应的功能应用,也就实现了加密后的已部署信息对应的功能应用。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (11)
1.一种信息处理方法,应用于信息处理设备,其特征在于,所述信息处理设备包括加载模块、执行模块、解密模块和翻译模块,包括:
通过加载模块获取执行模块发出的信息加载请求;
响应所述信息加载请求,加载待加载信息;所述待加载信息为完成部署的应用程序信息;
当通过解密模块从所述待加载信息中查找到加密标识时,基于所述加密标识对所述待加载信息进行解密;所述加密标识为预先设置的用于表征已加密的标识,解密密钥为所述待加载信息中的加密标识和密码散列值,所述密码散列值为待部署信息的指纹信息,所述待部署信息用于通过加密来部署为所述待加载信息;
通过翻译模块对解密后的待加载信息进行翻译,得到第一可执行信息;所述第一可执行信息为基于已加密的所述待加载信息翻译出的用于执行的应用程序信息;
通过所述执行模块执行所述第一可执行信息,实现所述待加载信息对应的功能应用;
当通过所述解密模块从所述待加载信息中未查找到所述加密标识时,通过所述解密模块将所述待加载信息发送给所述翻译模块,以使所述翻译模块对所述待加载信息进行翻译,未查找到所述加密标识的所述待加载信息为待调试的源码。
2.根据权利要求1所述的方法,其特征在于,所述响应所述信息加载请求,加载待加载信息之前,所述方法还包括:
在对待部署信息进行部署时,通过加密模块对所述待部署信息进行加密;所述待部署信息为通过部署实现功能应用的应用程序信息;
对加密后的待部署信息进行部署,得到所述待加载信息。
3.根据权利要求2所述的方法,其特征在于,所述通过加密模块对所述待部署信息进行加密,包括:
通过所述加密模块获取所述待部署信息的密码散列值;
将所述密码散列值与所述加密标识作为加密密钥,对所述待部署信息进行加密;
相应地,所述对加密后的待部署信息进行部署,得到所述待加载信息,包括:
将所述加密后的待部署信息、所述密码散列值和所述加密标识作为部署信息进行部署,得到所述待加载信息。
4.根据权利要求3所述的方法,其特征在于,所述通过所述加密模块获取所述待部署信息的密码散列值,包括:
通过所述加密模块,依据散列值处理算法,计算所述待部署信息的散列值,得到初始密码散列值;
依据散列值提取规则,从所述初始密码散列值中,提取所述密码散列值。
5.根据权利要求4所述的方法,其特征在于,所述依据散列值提取规则,从所述初始密码散列值中,提取所述密码散列值,包括:
依据所述散列值提取规则,从所述初始密码散列值中,提取固定位置和/或动态位置的散列值,得到所述密码散列值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述当通过解密模块从所述待加载信息中查找到加密标识时,基于所述加密标识对所述待加载信息进行解密,包括:
当通过所述解密模块从所述待加载信息中查找到所述加密标识时,从所述待加载信息中,提取密码散列值;
将所述加密标识和所述密码散列值作为解密密钥,对所述待加载信息进行解密。
7.根据权利要求1所述的方法,其特征在于,所述响应所述信息加载请求,加载待加载信息之后,所述方法还包括:
当通过所述解密模块从所述待加载信息中未查找到所述加密标识时,通过所述翻译模块对所述待加载信息进行翻译,得到第二可执行信息;所述第二可执行信息为基于未加密的所述待加载信息翻译出的用于执行的应用程序信息;
通过所述执行模块执行所述第二可执行信息,实现所述待加载信息对应的功能应用。
8.根据权利要求1-5、7任一项所述的方法,其特征在于,所述待加载信息为Node.js程序。
9.一种信息处理装置,其特征在于,包括:
加载模块,用于获取执行模块发出的信息加载请求;
所述加载模块,还用于响应所述信息加载请求,加载待加载信息;所述待加载信息为完成部署的应用程序信息;
解密模块,用于当从所述待加载信息中查找到加密标识时,基于所述加密标识对所述待加载信息进行解密;所述加密标识为预先设置的用于表征已加密的标识,解密密钥为所述待加载信息中的加密标识和密码散列值,所述密码散列值为待部署信息的指纹信息,所述待部署信息用于通过加密来部署为所述待加载信息;
翻译模块,用于对解密后的待加载信息进行翻译,得到第一可执行信息;所述第一可执行信息为基于已加密的所述待加载信息翻译出的用于执行的应用程序信息;
所述执行模块,用于执行所述第一可执行信息,实现所述待加载信息对应的功能应用;
所述解密模块,还用于当通过所述解密模块从所述待加载信息中未查找到所述加密标识时,通过所述解密模块将所述待加载信息发送给所述翻译模块,以使所述翻译模块对所述待加载信息进行翻译,未查找到所述加密标识的所述待加载信息为待调试的源码。
10.一种信息处理设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910837732.9A CN110780884B (zh) | 2019-09-05 | 2019-09-05 | 一种信息处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910837732.9A CN110780884B (zh) | 2019-09-05 | 2019-09-05 | 一种信息处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780884A CN110780884A (zh) | 2020-02-11 |
CN110780884B true CN110780884B (zh) | 2022-04-12 |
Family
ID=69383366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910837732.9A Active CN110780884B (zh) | 2019-09-05 | 2019-09-05 | 一种信息处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110780884B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497270A (zh) * | 2011-12-24 | 2012-06-13 | 王勇 | 一类规范化文档的加密方法 |
CN107180168A (zh) * | 2016-03-10 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 文件加载、生成方法和装置,以及智能终端 |
CN107545189A (zh) * | 2017-06-26 | 2018-01-05 | 新华三技术有限公司 | 一种文件获得方法及装置 |
CN110147656A (zh) * | 2019-05-10 | 2019-08-20 | 重庆迅燕科技有限公司 | 一种Node.js的代码加密及底层运行时解密办法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2869131B1 (fr) * | 2004-04-19 | 2008-03-28 | Global Interfece Comm Sarl | Procede pour diffuser des contenus securises via internet |
CN106155663A (zh) * | 2015-04-15 | 2016-11-23 | 中兴通讯股份有限公司 | 应用程序加载代码签名的方法和装置 |
EP3188063A1 (en) * | 2015-12-29 | 2017-07-05 | GuardSquare NV | A build system |
-
2019
- 2019-09-05 CN CN201910837732.9A patent/CN110780884B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497270A (zh) * | 2011-12-24 | 2012-06-13 | 王勇 | 一类规范化文档的加密方法 |
CN107180168A (zh) * | 2016-03-10 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 文件加载、生成方法和装置,以及智能终端 |
CN107545189A (zh) * | 2017-06-26 | 2018-01-05 | 新华三技术有限公司 | 一种文件获得方法及装置 |
CN110147656A (zh) * | 2019-05-10 | 2019-08-20 | 重庆迅燕科技有限公司 | 一种Node.js的代码加密及底层运行时解密办法 |
Non-Patent Citations (1)
Title |
---|
"php生成随机密码方法汇总";mrr;《https://m.jb51.net/article/71635》;20150827;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110780884A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107659632B (zh) | 一种文件加解密方法、装置及计算机可读存储介质 | |
CN109933995B (zh) | 一种基于云服务及区块链的用户敏感数据保护及系统 | |
EP3229397B1 (en) | Method for fulfilling a cryptographic request requiring a value of a private key | |
CN107786331B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN104298932B (zh) | 一种so文件的调用方法及装置 | |
CN111143869B (zh) | 应用程序包处理方法、装置、电子设备及存储介质 | |
TW201939345A (zh) | 資料處理方法、可信用戶介面資源資料的應用方法及裝置 | |
CN111656345B (zh) | 启用容器文件中加密的软件模块 | |
CN108133147B (zh) | 可执行代码的保护方法、设备及可读存储介质 | |
US10972253B2 (en) | Virtual enigma cipher | |
CN112733180A (zh) | 数据查询方法、装置和电子设备 | |
CN115603907A (zh) | 加密存储数据的方法、装置、设备和存储介质 | |
Park et al. | A methodology for the decryption of encrypted smartphone backup data on android platform: A case study on the latest samsung smartphone backup system | |
US12105855B2 (en) | Privacy-enhanced computation via sequestered encryption | |
CN107257282A (zh) | 一种基于rc4算法的代码全包加密方法 | |
CN114048266A (zh) | 数据库数据的同步方法、装置和计算机可读存储介质 | |
CN109995534B (zh) | 一种对应用程序进行安全认证的方法和装置 | |
CN112115430A (zh) | 一种apk的加固方法、电子设备及存储介质 | |
CN103605927A (zh) | 一种基于嵌入式Linux系统实现加密和解密方法 | |
CN110780884B (zh) | 一种信息处理方法、装置及设备 | |
CN107403103B (zh) | 文件解密方法和装置 | |
CN115883078A (zh) | 文件加密方法、文件解密方法、装置、设备及存储介质 | |
CN113141329B (zh) | 大数据挖掘方法、装置、设备和存储介质 | |
CN106648770A (zh) | 一种应用程序安装包的生成方法、加载方法及装置 | |
CN112817615A (zh) | 文件处理方法、设备、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020252 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |