代码加密、解密方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:18662373 阅读:30 留言:0更新日期:2018-08-11 16:19
本申请涉及一种代码加密、解密方法、装置、计算机设备和存储介质。代码加密方法包括:获取待进行加密的目标代码,获取对目标代码进行加密的加密密钥序列,加密密钥序列包括多个加密密钥;根据目标代码的字节顺序从目标代码中获取当前待加密字节,根据加密密钥序列的密钥顺序从加密密钥序列中获取当前加密密钥;根据当前加密密钥对当前待加密字节进行加密,得到对应的当前字节密文;返回根据目标代码的字节顺序从目标代码中获取当前待加密字节,根据加密密钥序列的密钥顺序从加密密钥序列中获取当前加密密钥的步骤,直至目标代码的待加密字节加密完毕;将得到的各个字节密文进行组合,得到目标代码对应的代码密文。本方法能够提高代码安全性。

Code encryption and decryption method, device, computer equipment and storage medium

The present application relates to a method for encrypting and decrypting code, a device, a computer device and a storage medium. Code encryption methods include: acquiring the target code to be encrypted, acquiring the encryption key sequence for the target code, encrypting the key sequence including multiple encryption keys; acquiring the current bytes from the target code according to the byte order of the target code, and encrypting the key sequence from the encryption key sequence. Get the current encryption key in the key sequence; encrypt the current byte to be encrypted according to the current encryption key to get the corresponding current byte ciphertext; return the current byte to be encrypted from the target code according to the byte order of the target code, and get the current byte from the encryption key sequence according to the key order of the encryption key sequence. The current encryption key step, until the target code to be encrypted bytes encrypted, the resulting byte ciphertext combination, the corresponding code ciphertext of the target code. This method can improve code security.

【技术实现步骤摘要】
代码加密、解密方法、装置、计算机设备和存储介质
本申请涉及加密
,特别是涉及一种代码加密、解密方法、装置、计算机设备和存储介质。
技术介绍
随着信息技术的发展,应用越来越多,产生的代码也越来越多,目前很多应用的代码都是利用高层抽象语言例如java编写的代码,很容易被反汇编,从而被非法阅读或者篡改,代码安全性低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种代码加密、解密方法、装置、计算机设备和存储介质,能够结合目标代码字节的字节顺序以及包括多个加密密钥的加密密钥序列的密钥顺序对目标代码进行加密,而且是以字节为单位对代码进行加密,因此,代码被反编译的难度大,提高了代码安全性。一种代码加密方法,所述方法包括:获取待进行加密的目标代码,获取对所述目标代码进行加密的加密密钥序列,所述加密密钥序列包括多个加密密钥;根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥;根据所述当前加密密钥对所述当前待加密字节进行加密,得到对应的当前字节密文;返回所述根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥的步骤,直至所述目标代码的待加密字节加密完毕;将得到的各个字节密文进行组合,得到所述目标代码对应的代码密文。一种代码解密方法,所述方法包括:获取目标代码对应的代码密文,获取对所述目标代码进行解密的解密密钥序列,所述解密密钥序列包括多个解密密钥;根据所述代码密文的字节顺序从所述代码密文中获取当前待解密字节,根据所述解密密钥序列的密钥顺序从所述解密密钥序列中获取当前解密密钥;根据所述当前解密密钥对所述当前待解密字节进行解密,得到对应的当前字节明文;返回所述根据所述代码密文的字节顺序从所述代码密文中获取当前待解密字节,根据所述解密密钥序列的密钥顺序从所述解密密钥序列中获取当前解密密钥的步骤,直至所述代码密文的待解密字节解密完毕;将得到的各个字节明文进行组合,得到所述代码密文对应的目标代码。一种代码加密装置,所述装置包括:代码及密钥获取模块,用于获取待进行加密的目标代码,获取对所述目标代码进行加密的加密密钥序列,所述加密密钥序列包括多个加密密钥;加密字节及密钥获取模块,用于根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥;加密模块,用于根据所述当前加密密钥对所述当前待加密字节进行加密,得到对应的当前字节密文;第一返回模块,用于返回所述根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥的步骤,直至所述目标代码的待加密字节加密完毕;密文组合模块,用于将得到的各个字节密文进行组合,得到所述目标代码对应的代码密文。一种代码解密装置,所述装置包括:密文以及密钥获取模块,用于获取目标代码对应的代码密文,获取对所述目标代码进行解密的解密密钥序列,所述解密密钥序列包括多个解密密钥;解密字节以密钥获取模块,用于根据所述代码密文的字节顺序从所述代码密文中获取当前待解密字节,根据所述解密密钥序列的密钥顺序从所述解密密钥序列中获取当前解密密钥;解密模块,用于根据所述当前解密密钥对所述当前待解密字节进行解密,得到对应的当前字节明文;第二返回模块,用于返回所述根据所述代码密文的字节顺序从所述代码密文中获取当前待解密字节,根据所述解密密钥序列的密钥顺序从所述解密密钥序列中获取当前解密密钥的步骤,直至所述代码密文的待解密字节解密完毕;明文组合模块,用于将得到的各个字节明文进行组合,得到所述代码密文对应的目标代码。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述代码加密方法的步骤。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述代码解密方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述代码加密方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述代码解密方法的步骤。上述代码加密方法,通过获取待进行加密的目标代码,获取对目标代码进行加密的加密密钥序列,加密密钥序列包括多个加密密钥,根据目标代码的字节顺序从目标代码中获取当前待加密字节,根据加密密钥序列的密钥顺序从加密密钥序列中获取当前加密密钥,根据当前加密密钥对当前待加密字节进行加密,得到对应的当前字节密文,返回根据目标代码的字节顺序从目标代码中获取当前待加密字节,根据加密密钥序列的密钥顺序从加密密钥序列中获取当前加密密钥的步骤,直至目标代码的待加密字节加密完毕,将得到的各个字节密文进行组合,得到目标代码对应的代码密文。由于能够结合目标代码字节的顺序以及包括多个加密密钥的加密密钥序列的密钥顺序对目标代码进行加密,而且是以字节为单位对代码进行加密,因此,代码被破解以及反编译的难度大,提高了代码安全性。上述代码解密方法,获取目标代码对应的代码密文,获取对目标代码进行解密的解密密钥序列,解密密钥序列包括多个解密密钥;根据代码密文的字节顺序从代码密文中获取当前待解密字节,根据解密密钥序列的密钥顺序从解密密钥序列中获取当前解密密钥,根据当前解密密钥对当前待解密字节进行解密,得到对应的当前字节明文,返回根据代码密文的字节顺序从代码密文中获取当前待解密字节,根据解密密钥序列的密钥顺序从解密密钥序列中获取当前解密密钥的步骤,直至代码密文的待解密字节解密完毕,将得到的各个字节明文进行组合,得到代码密文对应的目标代码。由于能够结合代码密文的字节顺序以及包括多个解密密钥的解密密钥序列的密钥顺序对目标代码对应的密文进行解密,而且是以字节为单位对代码进行解密,因此,代码被解密的难度大,提高了代码安全性。附图说明图1为一个实施例中代码加密以及解密方法的应用场景图;图2为一个实施例中代码加密方法的流程示意图;图3为另一个实施例中代码加密方法的流程示意图;图4为一个实施例中代码解密方法的流程示意图;图5为一个实施例中代码解密方法的流程示意图;图6为一个实施例中代码加密装置的结构框图;图7为另一个实施例中代码加密装置的结构框图;图8为一个实施例中代码解密装置的结构框图;图9为另一个实施例中代码解密装置的结构框图;图10为一个实施例中计算机设备的内部结构图;图11为另一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的代码加密方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102上安装有应用程序,可以利用插件化的技术将应用中的核心代码分离为一个独立的插件文件并存储在服务器104中,当应用程序在终端102运行时,若需要运行目标插件,终端102向服务器104发送插件获取请求本文档来自技高网...

【技术保护点】
1.一种代码加密方法,所述方法包括:获取待进行加密的目标代码,获取对所述目标代码进行加密的加密密钥序列,所述加密密钥序列包括多个加密密钥;根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥;根据所述当前加密密钥对所述当前待加密字节进行加密,得到对应的当前字节密文;返回所述根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥的步骤,直至所述目标代码的待加密字节加密完毕;将得到的各个字节密文进行组合,得到所述目标代码对应的代码密文。

【技术特征摘要】
1.一种代码加密方法,所述方法包括:获取待进行加密的目标代码,获取对所述目标代码进行加密的加密密钥序列,所述加密密钥序列包括多个加密密钥;根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥;根据所述当前加密密钥对所述当前待加密字节进行加密,得到对应的当前字节密文;返回所述根据所述目标代码的字节顺序从所述目标代码中获取当前待加密字节,根据所述加密密钥序列的密钥顺序从所述加密密钥序列中获取当前加密密钥的步骤,直至所述目标代码的待加密字节加密完毕;将得到的各个字节密文进行组合,得到所述目标代码对应的代码密文。2.根据权利要求1所述的方法,其特征在于,所述根据所述当前加密密钥对所述当前待加密字节进行加密,得到对应的当前字节密文的步骤包括:对所述当前待加密字节进行切分,得到多个对应的待加密比特位数据块;根据所述当前加密密钥对所述各个待加密比特位数据块采用不同的加密算法进行加密,得到所述各个待加密比特位数据块对应的比特位密文;将所述各个比特位密文进行组合,得到对应的当前字节密文。3.根据权利要求1或2所述的方法,所述方法还包括:接收终端发送的目标代码获取请求,所述目标代码获取请求携带目标代码标识;所述获取待进行加密的目标代码的步骤包括:根据所述目标代码标识获取待进行加密的目标代码;所述方法还包括:将所述代码密文以及所述加密密钥序列进行组合,得到组合后的代码数据包,将所述代码数据包发送给所述终端。4.根据权利要求3所述的方法,其特征在于,所述将所述代码密文以及所述加密密钥序列进行组合,得到组合后的代码数据包的步骤之前还包括:对所述目标代码标识进行哈希计算,得到对应的目标哈希值;根据所述目标哈希值得到所述加密密钥序列对应的数据插入位置;所述将所述代码密文以及所述加密密钥序列进行组合,得到组合后的代码数据包的步骤包括:根据所述数据插入位置在所述代码密文中插入所述加密密钥序列,得到组合后的代码数据包。5.一种代码解密方法,所述方法包括:获取目标代码对应的代码密文,获取对所述目标代码进行解密的解密密钥序列,所述解密密钥序列包括多个解密密钥;根据所述代码密文的字节顺序从所述代码密文中获取当前待解密字节,根据所述解密密钥序列的密钥顺序从所述解密密钥序列中获取当前解密密钥;根据所述当前解密密钥对所述当前待解密字节进行解密,得到对应的当前字节明文;返回所述根据所述代码密文的字节顺序从所述代码密文中获取当前待解密字节,根据所述解密密钥序列的密钥顺序从所述...

【专利技术属性】
技术研发人员:林晓然彭东远
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1