【技术实现步骤摘要】
一种脚本加密方法、脚本解密运行方法和相关装置
本专利技术涉及计算机
,尤其涉及一种脚本加密方法、脚本解密运行方法和相关装置。
技术介绍
随着Linux系统广泛应用于各种企业的开发运营中,其主流脚本语言shell也随之被用于各种工具开发、系统配置以及自动运维脚本中。而现有的开发、配置或运维中,shell脚本的源代码都是可见的,但shell脚本汇聚了企业和个人的劳动成果和智慧结晶,一旦shell脚本被盗取或是非法运行,将会给企业和个人带来损失。因此,如何提高脚本的安全性是亟待解决的技术问题之一。
技术实现思路
本专利技术实施例提供一种脚本加密方法、脚本解密运行方法和相关装置,用以提高脚本的安全性。第一方面,本专利技术实施例提供一种脚本加密方法,包括:获取待加密脚本;利用选择出的密钥生成算法生成的密钥信息加密所述待加密脚本;并在加密的脚本中嵌入运行权限控制代码,得到加密脚本文件,所述运行权限控制代码用于指示是否允许解密所述加密的脚本。通过执行上述方法,一方面根据用户选择出的密钥生成算法生成密钥信息,然后利用生成的密钥信息加密所述待加密脚本,由于非受信用户无法获知用户选 ...
【技术保护点】
1.一种脚本加密方法,其特征在于,包括:获取待加密脚本;利用选择出的密钥生成算法生成的密钥信息加密所述待加密脚本;并在加密的脚本中嵌入运行权限控制代码,得到加密脚本文件,所述运行权限控制代码用于指示是否允许解密所述加密的脚本。
【技术特征摘要】
1.一种脚本加密方法,其特征在于,包括:获取待加密脚本;利用选择出的密钥生成算法生成的密钥信息加密所述待加密脚本;并在加密的脚本中嵌入运行权限控制代码,得到加密脚本文件,所述运行权限控制代码用于指示是否允许解密所述加密的脚本。2.如权利要求1所述的方法,其特征在于,利用选择出的密钥生成算法生成的密钥信息加密所述待加密脚本,具体包括:将所述待加密脚本划分成若干个脚本片段;并针对每一个脚本片段,均执行以下过程:利用该脚本片段和基于上一个脚本片段的密钥信息生成用于加密该脚本片段的密钥信息;并利用所述用于加密该脚本片段的密钥信息加密该脚本片段;基于各个加密的脚本片段,得到加密的脚本;其中,第一个脚本片段的密钥信息为基于产生的随机数和/或所述第一个脚本片段生成的。3.如权利要求1所述的方法,其特征在于,利用选择出的密钥生成算法生成的密钥信息加密所述待加密脚本,具体包括:对用户设置的密码和随机产生的盐值salt执行迭代次数的迭代处理,生成用于加密所述待加密脚本的密钥信息;并利用所述密钥信息对所述待加密脚本进行加密处理,得到加密的脚本。4.如权利要求1~3任一所述的方法,其特征在于,所述加密脚本文件包括加密的时间信息,和/或加密的允许运行所述加密脚本文件的硬件设备的硬件信息,所述时间信息用于指示所述加密脚本文件的有效期限。5.如权利要求4所述的方法,其特征在于,所述加密脚本文件还包括以下至少一项:随机数、迭代次数、盐值salt、基于用户设置的密码生成的密钥信息和加密算法。6.如权利要求1所述的方法,其特征在于,所述运行权限控制代码包括以下至少一项:用于监测所述加密的脚本是否被追溯的代码、用于指示加密的脚本是否在有效期限内的代码、加壳代码和license认证逻辑代码。7.一种脚本解密运行方法,其特征在于,包括:运行可执行文件,所述可执行文件为对权利要求1~6任一所述的方法得到的加密脚本文件执行编译处理得到的;根据运行权限控制代码确定允许解密所述加密脚本文件中加密的脚本,则调用脚本解密解析引擎解密所述加密的脚本;并运行解密后的脚本。8.如权利要求7所述的方法,其特征在于,所述运行权限控制代码包括用于监测所述加密的脚本是否被追溯的代码;以及根据运行权限控制代码确定允许解密所述加密脚本文件中加密的脚本,具体包括:接收到派生子进程附着成功的确认消息。9.如权利要求7或8所述的方法,其特征在于,所述加密脚本文件包含加密的时间信息,所述运行权限控制代码包括用于指示加密的脚本是否在有效期限内的代码;以及根据运行权限控制代码确定允许解密所述加密脚本文件中加密的脚本,具体包括:从所述加密脚本文件中解密出时间信息;确定所述时间信息在有效期限内。10.如权利要求9所述的方法,其特征在于,所述加密脚本文件还包括允许所述加密脚本文件的硬件设备的硬件信息;以及根据运行权限控制代码确定允许解密所述加密脚本文件中加密的脚本,具体包括:读取当前运行所述加密脚本文件的硬件设备的硬件信息;并确定读取的硬件信息与所述加密脚本文件包含的硬件信息一致。11.如权利要求9所述的方法,其特征在于,所述运行权限控制代码包括license认证逻辑代码;以及根据运行权限控制代码确定允许解密所述加密脚本文件中加密的脚本,具体包括:读取当前运行所述加密脚本文件的硬件设备的硬件信息;并根据读取的硬件信息生成license文件;以及从本地或网页服务器获取当前运行所述加密脚本文件的硬件设备的license文件;确定生成的license文件与获取的license文件一致且确定所述license...
【专利技术属性】
技术研发人员:沈舒莉,王海涵,施纯毅,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。