一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

私有化部署加密方法、装置、设备及存储介质与流程

2022-11-09 22:50:25 来源:中国专利 TAG:


1.本发明涉及代码加密技术领域,尤其涉及一种私有化部署加密方法、装置、设备及存储介质。


背景技术:

2.目前,随着工业4.0的到来,智慧化工厂已迫在眉睫,瓦楞纸包装行业的生产线随着时间的推移会越来越智能化,生产效率的提升需要更加智慧的系统来支撑,进而会对不同的生产线制定专门的解决方案。
3.但专门制定的解决方案由于具有一定的敏感性,进而在对解决方案进行私有化部署时,通常会进行加密操作,但现有的加密方式一般为设置密码,安全性较低。
4.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

5.本发明的主要目的在于提供了一种私有化部署加密方法、装置、设备及存储介质,旨在解决现有技术中私有化部署时通过密码的方式进行加密安全性较低的技术问题。
6.为实现上述目的,本发明提供了一种私有化部署加密方法,所述方法包括以下步骤:获取工厂管理流程和对应的整体项目代码,并根据所述工厂管理流程对所述整体项目代码进行拆分;从各拆分后的整体项目代码中选取目标核心代码,并通过预设虚拟机对所述目标核心代码进行模拟运行;在运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密。
7.可选地,所述从各拆分后的整体项目代码中选取目标核心代码,并通过预设虚拟机对所述目标核心代码进行模拟运行的步骤,包括:从各拆分后的整体项目代码中选取目标核心代码,并将所述目标核心代码转换成虚拟机代码;基于预设混淆规则对所述虚拟机代码进行混淆,获得第一混淆代码;通过预设虚拟机对所述第一混淆代码进行模拟运行;相应地,所述在运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密的步骤,包括:在运行结束时,基于所述预设混淆规则对所述运行后的虚拟机代码进行混淆,获得第二混淆代码;基于预设代码加密规则对所述第二混淆代码进行加密。
8.可选地,所述预设混淆规则包括:花指令规则和代码非等价变形规则。
9.可选地,所述基于预设代码加密规则对运行后的目标核心代码进行加密的步骤之
后,还包括:在接收到程序运行指令时,根据所述预设代码加密规则对所述加密后的目标核心代码进行解密;在解密完成时,基于所述解密后的目标核心代码生成所述整体项目代码;基于所述整体项目代码进行程序运行。
10.可选地,所述基于所述整体项目代码进行程序运行的步骤之前,还包括:获取授权码,并对所述授权码进行验证;在所述授权码为预设授权码时,获取预设授权时长;相应地,所述基于所述整体项目代码进行程序运行的步骤之后,还包括:根据所述预设授权时长对所述整体项目代码的程序运行进行授权计时;在计时结束时,停止运行所述整体项目代码。
11.可选地,所述获取工厂管理流程和对应的整体项目代码,并根据所述工厂管理流程对所述整体项目代码进行拆分的步骤,包括:获取工厂管理流程和对应的整体项目代码;根据所述工厂管理流程中的关联管理流程对所述整体项目代码进行拆分;根据所述工厂管理流程中的独立管理流程对所拆分后剩余的整体项目代码进行拆分。
12.可选地,所述从各拆分后的整体项目代码中选取目标核心代码的步骤之后,还包括:对所述目标核心代码进行公共组件封装,获得封装后的公共组件;将所述封装后的公共组件进行编译,并将编译后的公共组件上传至服务器。
13.此外,为实现上述目的,本发明还提出一种私有化部署加密装置,所述装置包括:代码拆分模块,用于获取工厂管理流程和对应的整体项目代码,并根据所述工厂管理流程对所述整体项目代码进行拆分;代码运行模块,用于从各拆分后的整体项目代码中选取目标核心代码,并通过预设虚拟机对所述目标核心代码进行模拟运行;代码加密模块,用于在运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密。
14.此外,为实现上述目的,本发明还提出一种私有化部署加密设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的私有化部署加密程序,所述私有化部署加密程序配置为实现如上文所述的私有化部署加密方法的步骤。
15.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有私有化部署加密程序,所述私有化部署加密程序被处理器执行时实现如上文所述的私有化部署加密方法的步骤。
16.本发明是通过获取工厂管理流程和对应的整体项目代码,并根据所述工厂管理流程对所述整体项目代码进行拆分;从各拆分后的整体项目代码中选取目标核心代码,并通过预设虚拟机对所述目标核心代码进行模拟运行;在运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密。由于本发明可先对整体项目代码进行拆分选取目标核心代码,再通过预设代码加密规则对虚拟机模拟运行后的目标核心代码进行加密,相比于
现有的仅通过密码对整体项目代码进行加密,本发明能对目标核心代码进行重点保护,提升了安全性。
附图说明
17.图1为本发明实施例方案涉及的硬件运行环境的私有化部署加密设备结构示意图;图2为本发明私有化部署加密方法第一实施例的流程示意图;图3为本发明私有化部署加密方法第二实施例的流程示意图;图4为本发明私有化部署加密方法第三实施例的流程示意图;图5为本发明私有化部署加密装置第一实施例的结构框图。
18.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
19.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
20.参照图1,图1为本发明实施例方案涉及的硬件运行环境的私有化部署加密设备结构示意图。
21.如图1所示,该私有化部署加密设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram),也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
22.本领域技术人员可以理解,图1中示出的结构并不构成对私有化部署加密设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
23.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及私有化部署加密程序。
24.在图1所示的私有化部署加密设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明私有化部署加密设备中的处理器1001、存储器1005可以设置在私有化部署加密设备中,所述私有化部署加密设备通过处理器1001调用存储器1005中存储的私有化部署加密程序,并执行本发明实施例提供的私有化部署加密方法。
25.本发明实施例提供了一种私有化部署加密方法,参考图2,图2为本发明私有化部署加密方法第一实施例的流程示意图。
26.本实施例中,所述私有化部署加密方法包括以下步骤:步骤s10:获取工厂管理流程和对应的整体项目代码,并根据所述工厂管理流程对所述整体项目代码进行拆分。
27.需要说明的是,本实施例方法可以是应用在对瓦楞纸包装工厂进行私有化部署加
密的场景中,或者是其它需要对私有化部署加密的场景中。本实施例的执行主体可以是具有数据处理、网络通信以及程序运行功能的私有化部署加密设备,例如电脑、服务器等,或者是其它能够实现如同或相似功能的设备。此处以上述私有化部署加密设备(以下简称设备)对本实施例和下述各实施例进行具体说明。
28.可理解的是,上述工厂管理流程可以是生产过程涉及的流程,例如生产管理流程、设备管理流程、质量管理流程、仓储管理流程、报表管理流程和系统管理流程等,由于不同生产可能存在不同的流程,进而本实施例对具体工厂管理流程不加以限制。
29.应理解的是,上述整体项目代码可以是根据用户需求所制定的解决方案的代码,不同生产可涉及不同的工厂管理流程,进而对应的上述整体项目代码也可存在差异。
30.需要强调的是,在进行整体项目代码的拆分时,需保证单一服务内部功能的高内聚和低耦合,进而可使拆分结果的可重用性和移植性大大增强。
31.进一步地,考虑到整体项目代码涉及的工厂管理流程较多,进而为了提升拆分的效率,同时保证拆分结果的可重用性和移植性,在本实施例中,上述步骤s10,包括:步骤s11:获取工厂管理流程和对应的整体项目代码;步骤s12:根据所述工厂管理流程中的关联管理流程对所述整体项目代码进行拆分。
32.需要说明的是,上述关联管理流程可以是存在相互影响的流程,例如生产管理流程、设备管理流程、质量管理流程、仓储管理流程等,上述管理流程之间存在相互影响。
33.步骤s13:根据所述工厂管理流程中的独立管理流程对所拆分后剩余的整体项目代码进行拆分。
34.可理解的是,上述独立管理流程可以是不存在相互影响的流程,例如报表管理流程、系统管理流程等,上述管理流程之间不存在相互影响。
35.应理解的是,在上述拆分时可关注粗粒度,不可过大或过小,同时拆分后的各拆分结果之间的接口可具备可扩展性,进而可保证通用性,上述关联管理流程和独立管理流程均可根据实际情况自行设置。
36.在具体实现中,上述设备可获取工厂管理流程和对应制定的整体项目代码,并根据工厂管理流程中存在相互影响的关联管理流程对上述整体项目代码进行拆分,再根据工厂管理流程中不存在相互影响的关联管理流程进行拆分,进而在提升拆分效率的同时可保证通用性。
37.步骤s20:从各拆分后的整体项目代码中选取目标核心代码,并通过预设虚拟机对所述目标核心代码进行模拟运行。
38.需要说明的是,上述目标核心代码可以是根据需保护的重要程度选取的代码,若重要程度越高,则可优先选取对应的代码作为目标核心代码,上述具体选取方式可根据实际情况自行设置。
39.可理解的是,为了验证代码是否能顺利运行,上述设备内可设置有虚拟机,可通过虚拟机对上述目标核心代码进行模拟运行,同时为了进一步验证代码是否能顺利运行,作为本实施例的另一实现方式,还可对上述整体项目代码进行模拟运行。
40.进一步地,考虑到工厂管理流程可能会不断迭代,代码量会随之增大,为了便于后续开发调试,在本实施例中,上述从各拆分后的整体项目代码中选取目标核心代码的步骤
之后,还包括:步骤s201:对所述目标核心代码进行公共组件封装,获得封装后的公共组件。
41.应理解的是,上述设备可预先创建一个组件,在对组件进行注册后将目标核心代码与组件进行定义,进而可完成公共组件封装。
42.需要强调的是,由于不同公共组件的功能不同,进而为了便于区分,可对上述目标核心代码进行功能分类后进行公共组件封装,具体功能本实施例对此不加以限制。
43.步骤s202:将所述封装后的公共组件进行编译,并将编译后的公共组件上传至服务器。
44.需要说明的是,上述设备可与上述服务器网络连接,上述服务器可以是对用户工厂制定的私密服务器,进而可提升安全性,上述设备可将公共组件编译成jar文件,并上传至上述服务器,可在后续需要调用或调试时直接从服务器内获取。
45.在具体实现中,上述设备从拆分后的整体项目代码中选取目标核心代码,将目标核心代码通过预设虚拟机进行模拟运行,同时对上述目标核心代码进行公共组件封装,获得封装后的公共组件,再将封装后的公共组件进行编译,将编译后的公共组件上传至服务器。
46.步骤s30:在运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密。
47.可理解的是,上述预设代码加密规则可以是线性散列加密规则、对称性加密规则、非对称性加密规则等,或者其它加密规则,本实施例对此不加以限制。
48.需要说明的是,为了进一步提升安全性,作为本实施例的另一实现方式,还可基于上述预设加密规则对整体项目代码进行加密,或基于不同的预设加密规则分别对根据上述关联管理流程拆分后的整体项目代码,和根据独立管理流程拆分后的整体项目代码进行加密。
49.本实施例上述设备可获取工厂管理流程和对应制定的整体项目代码,并根据工厂管理流程中存在相互影响的关联管理流程对上述整体项目代码进行拆分,再根据工厂管理流程中不存在相互影响的关联管理流程进行拆分,进而在提升拆分效率的同时可保证通用性;上述设备从拆分后的整体项目代码中选取目标核心代码,将目标核心代码通过预设虚拟机进行模拟运行,同时对上述目标核心代码进行公共组件封装,获得封装后的公共组件,再将封装后的公共组件进行编译,将编译后的公共组件上传至服务器,便于后续开发调试;同时在上述预设虚拟机运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密,进而可提升加密的安全性。
50.参照图3,图3为本发明私有化部署加密方法第二实施例的流程示意图;基于上述实施例,考虑到在进行虚拟机运行时,会存在运行痕迹,进而为了进一步提升安全性,在本实施例中,如图3所示,上述步骤s20,包括:步骤s21:从各拆分后的整体项目代码中选取目标核心代码,并将所述目标核心代码转换成虚拟机代码。
51.需要说明的是,上述虚拟机代码可以是在上述预设虚拟机内运行的代码,具体转换方式本实施例不加以限制。
52.步骤s22:基于预设混淆规则对所述虚拟机代码进行混淆,获得第一混淆代码。
53.可理解的是,上述预设混淆规则可以是花指令规则和代码非等价变形规则,还可以是其它混淆规则,本实施例不加以限制,经过混淆,可将虚拟机代码转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析。
54.步骤s23:通过预设虚拟机对所述第一混淆代码进行模拟运行。
55.相应地,上述步骤s30,包括:步骤s301:在运行结束时,基于所述预设混淆规则对所述运行后的虚拟机代码进行混淆,获得第二混淆代码。
56.步骤s302:基于预设代码加密规则对所述第二混淆代码进行加密。
57.应理解的是,在进入上述预设虚拟机和离开上述虚拟机时,均有上述预设代码加密规则进行混淆,预设虚拟机配合混淆代码可有效保护代码,尤其是开发者的私有逻辑,进而可进一步提升安全性。
58.需要强调的是,上述预设代码加密规则还可以是self-modifying code加密规则,还可以是其它规则,本实施例不加以限制。
59.在本实施例中,上述设备可从各拆分后的整体项目代码中选取目标核心代码,并将目标核心代码转换成虚拟机代码,基于花指令规则和代码非等价变形规则对虚拟机代码进行混淆,获得第一混淆代码,通过预设虚拟机对第一混淆倒代码进行模拟运行,在运行结束时,基于预设混淆规则对运行后的虚拟代码进行混淆,获得第二混淆代码,基于预设代码加密规则对第二混淆代码进行加密。
60.参考图4,图4为本发明私有化部署加密方法第三实施例的流程示意图。
61.为了提升运行效率,如图4所示,基于上述实施例,在本实施例中,上述基于预设代码加密规则对运行后的目标核心代码进行加密的步骤之后,还包括:步骤s40:在接收到程序运行指令时,根据所述预设代码加密规则对所述加密后的目标核心代码进行解密;需要说明的是,上述程序运行指令可以是上述设备在用户在有需求时生成,具体生成方式本实施例不加以限制,上述设备在解密时对应的操作与在加密时对应的操作相对应。
62.需要强调的是,若加密的代码为上述整体项目代码,则上述设备可对整体项目代码进行解密。
63.步骤s50:在解密完成时,基于所述解密后的目标核心代码生成所述整体项目代码;步骤s60:基于所述整体项目代码进行程序运行。
64.可理解的是,上述设备可将加密后的目标核心代码解密,可防脱壳,防止直接dump,同时运行效率较高,性能损失较小。
65.在具体实现中,上述设备在接收到程序运行指令时,可表示目标核心代码被执行,则上述设备可根据预设代码加密规则对加密后的核心代码进行解密,在解密完成时,获得整体项目代码并运行,进而可提升运行效率。
66.进一步地,为了防止整体项目代码被破解,进一步增加安全性,同时便于控制使用权限,在本实施例中,上述基于所述整体项目代码进行程序运行的步骤之前,还包括:获取授权码,并对所述授权码进行验证;在所述授权码为预设授权码时,获取预设
授权时长;相应地,所述基于所述整体项目代码进行程序运行的步骤之后,还包括:根据所述预设授权时长对所述整体项目代码的程序运行进行授权计时;在计时结束时,停止运行所述整体项目代码。
67.需要说明的是,上述设备内还可设置有授权管理平台,在用户运行上述整体项目代码之前,开发者可根据用户需求,通过授权管理平台将设置的授权码发送至用户,上述整体项目代码内可设置有预设授权码,上述预设授权码带有预设授权时长,上述预设授权时长可根据实际情况自行设置。
68.可理解的是,上述设备内还可设置有时钟锁硬件,上述时钟锁硬件可根据预设授权时长进行计时,且不受本地时间约束,进而可提升授权计时的准确度。
69.在具体实现中,可通过授权码对整体项目代码进行使用时长的授权,在上述预设授权时长结束时,可停止用户使用,一方面可保护代码不被破解,另一方面能控制使用权限,便于管理。
70.在本实施例中,上述设备在接收到程序运行指令时,可表示目标核心代码被执行,则上述设备可根据预设代码加密规则对加密后的核心代码进行解密,在解密完成时,获得整体项目代码并运行,进而可提升运行效率;本实施例还可通过授权码对整体项目代码进行使用时长的授权,在上述预设授权时长结束时,可停止用户使用,一方面可保护代码不被破解,另一方面能控制使用权限,便于管理。
71.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有私有化部署加密程序,所述私有化部署加密程序被处理器执行时实现如上文所述的私有化部署加密方法的步骤。
72.此外,参照图5,图5为本发明私有化部署加密装置第一实施例的结构框图,本发明实施例还提出一种私有化部署加密装置,所述私有化部署加密装置包括:代码拆分模块501,用于获取工厂管理流程和对应的整体项目代码,并根据所述工厂管理流程对所述整体项目代码进行拆分;代码运行模块502,用于从各拆分后的整体项目代码中选取目标核心代码,并通过预设虚拟机对所述目标核心代码进行模拟运行;代码加密模块503,用于在运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密。
73.本实施例上述设备可获取工厂管理流程和对应制定的整体项目代码,并根据工厂管理流程中存在相互影响的关联管理流程对上述整体项目代码进行拆分,再根据工厂管理流程中不存在相互影响的关联管理流程进行拆分,进而在提升拆分效率的同时可保证通用性;上述设备从拆分后的整体项目代码中选取目标核心代码,将目标核心代码通过预设虚拟机进行模拟运行,同时对上述目标核心代码进行公共组件封装,获得封装后的公共组件,再将封装后的公共组件进行编译,将编译后的公共组件上传至服务器,便于后续开发调试;在上述预设虚拟机运行结束时,基于预设代码加密规则对运行后的目标核心代码进行加密。进而可提升加密的安全性。
74.本发明私有化部署加密装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
75.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方
式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
76.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献