一种报文加密方法及装置与流程

文档序号:11709946阅读:421来源:国知局
一种报文加密方法及装置与流程

本发明涉及报文加密技术领域,特别是涉及一种报文加密方法及装置。



背景技术:

随着移动终端技术的快速发展,移动终端的信息安全问题也受到越来越多的关注。高级数据加密标准(advancedencryptionstandard,aes)加密算法是一种广泛应用于移动终端与服务器之间信息交互的加密算法。

在aes加密算法中,对报文的分块方式和对报文的填充方式均较为灵活,分块方式可以为密码分组链接(cipherblockchaining,cbc)分块方式、或者电码本模式(electroniccodebookbook,ecb)分块方式、或者密码反馈(cipherfeedback,cfb)分块方式等分块方式,填充方式可以为没有填充(nopadding)方式、或者第五公钥密码学标准(thepublic-keycryptographystandards5padding,pkcs5padding)方式等填充方式。

但是,在实际应用中,经常会出现解密端解密失败的情况,以安装ios系统的移动终端与java应用服务器之间的交互为例进行说明:

移动终端使用aes加密算法对待发送报文进行加密处理,生成加密报文,其中,加密处理包括使用c语言默认的nopadding方式对待发送报文进行填充处理,再将加密报文发送至java应用服务器;java应用服务器也使用aes加密算法对来自移动终端的加密报文进行解密处理,得到解密后的报文,其中,解密处理包括使用java语言默认的pkcs5padding方式对待发送报文进行去填充处理;这样,java应用服务器最终得到的解密后的报文与移动终端的待发送报文不一致,导致java应用服务器解密失败。



技术实现要素:

本发明实施例的目的在于提供一种报文加密方法及装置,以使java应用服务器能够准确解密出安装ios系统的终端设备发送的报文。具体技术方案如下:

本发明的一种实施例提出了一种报文加密方法,应用于安装ios系统的终端设备,所述方法包括:使用预设的aes加密算法,对第一报文进行加密处理,生成第一加密报文,其中,所述加密处理包括分块处理和填充处理;将所述分块处理使用的第一分块方式对应的预设第一分块标识,写入所述第一加密报文中预留的第一标志位;将所述填充处理使用的第一填充方式对应的预设第一填充标识,写入所述第一加密报文中预留的第二标志位;将写入所述第一标志位和所述第二标志位后的第一加密报文发送至java应用服务器。

优选的,所述第一分块方式包括ecb分块方式,所述第一填充方式包括pkcs5padding方式;所述使用预设的aes加密算法,对预设的第一报文进行加密处理,生成第一加密报文,其中,所述加密处理包括分块处理和填充处理的步骤,包括:使用所述ecb分块方式,对预设的第一报文进行分块处理;使用所述pkcs5padding方式,对分块处理后的第一报文进行填充处理;使用预设的aes加密算法,对填充处理后的第一报文进行加密处理,生成第一加密报文。

优选的,所述方法还包括:接收来自所述java应用服务器的第二加密报文;解析所述第二加密报文,从解析后的第二加密报文中预设的第三标志位和预设的第四标志位中,分别读取第二分块标识和第二填充标识;根据所述第二分块标识,确定第二分块方式;根据所述第二填充标识,确定第二填充方式;使用所述aes加密算法,对解析后的第二加密报文进行解密处理,得到解密后的第二报文,其中,所述解密处理包括使用所述第二分块方式对所述解析后的第二加密报文进行组合处理,以及使用所述第二填充方式对所述解析后的第二加密报文进行去填充处理。

本发明的又一种实施例提出了一种报文加密方法,应用于java应用服务器,所述方法包括:接收来自安装ios系统的终端设备的第一加密报文;解析所述第一加密报文,从解析后的第一加密报文中预设的第一标志位和预设的第二标志位中,分别读取第一分块标识和第一填充标识;根据所述第一分块标识,确定第一分块方式;根据所述第一填充标识,确定第一填充方式;使用预设的aes加密算法,对解析后的第一加密报文进行解密处理,得到解密后的第一报文,其中,所述解密处理包括使用所述第一分块方式对所述解析后的第一加密报文进行组合处理,以及使用所述第一填充方式对所述解析后的第一加密报文进行去填充处理。

优选的,所述方法还包括:使用所述aes加密算法,对预设的第二报文进行加密处理,生成第二加密报文,其中,所述加密处理包括分块处理和填充处理;将所述分块处理使用的第二分块方式对应的预设第二分块标识,写入所述第二加密报文中预留的第三标志位;将所述填充处理使用的第二填充方式对应的预设第二填充标识,写入所述第二加密报文中预留的第四标志位;将已写入所述第三标志位和所述第四标志位的第二加密报文发送至所述安装ios系统的终端设备。

优选的,所述方法还包括:接收来自所述终端设备的第一加密报文;解析所述第一加密报文,从解析后的第一加密报文中预设的第一标志位和预设的第二标志位中,分别读取第一分块标识和第一填充标识;根据所述第一分块标识,确定第一分块方式;根据所述第一填充标识,确定第一填充方式;使用所述aes加密算法,对解析后的第一加密报文进行解密处理,得到解密后的第一报文,其中,所述解密处理包括使用所述第一分块方式对所述解析后的第一加密报文进行组合处理,以及使用所述第一填充方式对所述解析后的第一加密报文进行去填充处理。

本发明的另一种实施例提出了一种报文加密装置,应用于安装ios系统的终端设备,所述装置包括:加密单元,用于使用预设的aes加密算法,对第一报文进行加密处理,生成第一加密报文,其中,所述加密处理包括分块处理和填充处理;写入单元,用于将所述分块处理使用的第一分块方式对应的预设第一分块标识,写入所述第一加密报文中预留的第一标志位;写入单元,还用于将所述填充处理使用的第一填充方式对应的预设第一填充标识,写入所述第一加密报文中预留的第二标志位;发送单元,用于将写入所述第一标志位和所述第二标志位后的第一加密报文发送至java应用服务器。

优选的,所述第一分块方式包括ecb分块方式,所述第一填充方式包括pkcs5padding方式;所述加密单元,包括分块子单元、填充子单元和生成子单元;所述分块子单元,用于使用所述ecb分块方式,对预设的第一报文进行分块处理;所述填充子单元,用于使用所述pkcs5padding方式,对分块处理后的第一报文进行填充处理;所述生成子单元,用于使用预设的aes加密算法,对填充处理后的第一报文进行加密处理,生成第一加密报文。

优选的,所述装置还包括:接收单元,用于接收来自所述java应用服务器的第二加密报文;解析单元,用于解析所述第二加密报文,从解析后的第二加密报文中预设的第三标志位和预设的第四标志位中,分别读取第二分块标识和第二填充标识;确定单元,用于根据所述第二分块标识,确定第二分块方式;确定单元,还用于根据所述第二填充标识,确定第二填充方式;解密单元,用于使用所述aes加密算法,对解析后的第二加密报文进行解密处理,得到解密后的第二报文,其中,所述解密处理包括使用所述第二分块方式对所述解析后的第二加密报文进行组合处理,以及使用所述第二填充方式对所述解析后的第二加密报文进行去填充处理。

本发明的再一种实施例提出了一种报文加密装置,应用于java应用服务器,所述装置包括:接收单元,用于接收来自安装ios系统的终端设备的第一加密报文;解析单元,用于解析所述第一加密报文,从解析后的第一加密报文中预设的第一标志位和预设的第二标志位中,分别读取第一分块标识和第一填充标识;确定单元,用于根据所述第一分块标识,确定第一分块方式;确定单元,还用于根据所述第一填充标识,确定第一填充方式;解密单元,用于使用预设的aes加密算法,对解析后的第一加密报文进行解密处理,得到解密后的第一报文,其中,所述解密处理包括使用所述第一分块方式对所述解析后的第一加密报文进行组合处理,以及使用所述第一填充方式对所述解析后的第一加密报文进行去填充处理。

优选的,所述第一分块方式包括ecb分块方式,所述第一填充方式包括pkcs5padding方式;所述解密单元,包括组合子单元、去填充子单元和解密子单元;所述组合子单元,用于使用所述ecb分块方式,对解析后的第一加密报文进行组合处理;所述去填充子单元,用于使用所述pkcs5padding方式,对分块处理后的第一加密报文进行去填充处理;所述解密子单元,用于使用所述aes加密算法,对去填充处理后的第一加密报文进行解密处理,得到解密后的第一报文。

优选的,所述装置还包括:加密单元,用于使用所述aes加密算法,对预设的第二报文进行加密处理,生成第二加密报文,其中,所述加密处理包括分块处理和填充处理;写入单元,用于将所述分块处理使用的第二分块方式对应的预设第二分块标识,写入所述第二加密报文中预留的第三标志位;写入单元,还用于将所述填充处理使用的第二填充方式对应的预设第二填充标识,写入所述第二加密报文中预留的第四标志位;发送单元,用于将已写入所述第三标志位和所述第四标志位的第二加密报文发送至所述安装ios系统的终端设备。

本发明实施例提供的一种报文加密方法及装置,在所述方法中,安装ios系统的终端设备先使用aes加密算法,对第一报文进行加密处理,生成第一加密报文;接下来,将分块处理使用的第一分块方式对应的预设第一分块标识,写入第一加密报文中预留的第一标志位,以及将填充处理使用的第一填充方式对应的预设第一填充标识,写入第一加密报文中预留的第二标志位;最后,将写入第一标志位和第二标志位后的第一加密报文发送至java应用服务器。

这样,接收到第一加密报文的java应用服务器能够根据第一标志位和第二标志位,确定解密时使用的分块方式和填充方式,使得安装ios系统的终端设备和java应用服务器使用的分块方式和填充方式保持一致,保证java应用服务器解密成功。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的报文加密方法的一种流程图;

图2为本发明实施例的报文加密方法的又一种流程图;

图3为本发明实施例的报文加密方法的另一种流程图;

图4为本发明实施例的报文加密方法的再一种流程图;

图5为本发明实施例的报文加密装置的一种结构图;

图6为本发明实施例的报文加密装置的又一种结构图;

图7为本发明实施例的报文加密装置的另一种结构图;

图8为本发明实施例的报文加密装置的再一种结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种报文加密方法,应用于安装ios系统的终端设备。参见图1,图1为本发明实施例的报文加密方法的一种流程图,包括如下步骤:

步骤101,使用预设的aes加密算法,对第一报文进行加密处理,生成第一加密报文;

其中,所述加密处理包括分块处理和填充处理。

在实际应用中,当安装ios系统的终端设备运行某一java应用程序时,需要与java应用服务器进行数据交互;为了保证数据的安全性,本发明实施例使用aes加密算法对安装ios系统的终端设备中待发送的第一报文进行加密处理。

需要说明的是,使用aes加密算法对第一报文进行加密处理的过程中包括对第一报文的分块处理和填充处理。其中,分块处理可以使用多种分块方式中的一种,比如cbc分块方式、ecb分块方式和cfb块方式,同理,填充处理可以使用多重填充方式中的一种,比如nopadding方式和pkcs5padding方式。

可选的,在本发明实施例中,所述第一分块方式包括ecb分块方式,所述第一填充方式包括pkcs5padding方式;步骤101具体可以包括:

使用所述ecb分块方式,对所述第一报文进行分块处理;

使用所述pkcs5padding方式,对分块处理后的第一报文进行填充处理;

使用预设的aes加密算法,对填充处理后的第一报文进行加密处理,生成第一加密报文。

具体的,首先,使用ecb分块方式,将第一报文分为长度相等的若干组,其中,最后一组的长度可能小于其他组;接下来,使用pkcs5padding方式对最后一组进行填充;比如,当最后一组比其他组少1个byte,那么就给最后一组填补一个byte的0x01,当最后一组比其他组少2个byte,那就给最后一组填补一个byte的0x02,当最后一组比其他组少3个byte,那么就给最后一组填补一个byte的0x03;然后,使用aes加密算法,对填充处理后的第一报文进行加密处理,生成第一加密报文。

还需要说明的是,分块处理、填充处理和加密处理的详细处理过程可以参考现有技术,在此不再赘述。

步骤102,将所述分块处理使用的第一分块方式对应的预设第一分块标识,写入所述第一加密报文中预留的第一标志位;

在实际应用中,预留的第一标志位可以位于第一加密报文的报头位置,通常情况下,接收端在接收到第一加密报文时首先解析报头,这样,接收端可以先获取到位于报头位置的第一标志位,再根据第一标志位中携带的信息,对第一加密报文进行处理;当然,也可以根据实际需要,确定第一标志位的预留位置。

在具体实施中,可以根据预设的分块方式与分块标识之间的对应关系,将步骤101中使用的第一分块方式对应的第一分块标识,写入第一加密报文中预留的第一标志位。

步骤103,将所述填充处理使用的第一填充方式对应的预设第一填充标识,写入所述第一加密报文中预留的第二标志位;

在实际应用中,与第一标志位同理,预留的第二标志位可以位于第一加密报文的报头位置,当然,也可以根据实际需要,确定第二标志位的预留位置。

在具体实施中,可以根据预设的填充方式与填充标识之间的对应关系,将步骤101中使用的第一填充方式对应的第一填充标识,写入第一加密报文中预留的第二标志位。

需要说明的是,本发明对步骤102与步骤103的执行顺序不加以限制,可以先执行步骤102再执行步骤103,也可以先执行步骤103再执行步骤102,当然,也可以同时执行步骤102和步骤103。

步骤104,将写入所述第一标志位和所述第二标志位后的第一加密报文发送至java应用服务器。

在本步骤中,安装ios系统的终端设备将携带第一标志位和第二标志位的第一加密报文发送至java应用服务器。

这样,java应用服务器在接收到来自安装ios系统的终端设备的第一加密报文后,可以通过解析第一加密报文获取第一标志位和第二标志位,进而确定第一分块方式和第一填充方式。

可见,在本发明实施例中,通过将安装ios系统的终端设备加密时使用的第一分块方式对应的第一分块标识,以及第一填充方式对应的第一填充标识写如第一加密报文,使得java应用服务器在对第一加密报文进行解析时,可以确定加密时使用的第一分块方式和第一填充方式,避免出现由于java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式不一致,而导致的java应用服务器解密失败。

接下来,当java应用服务器接收来自安装ios系统的终端设备的第一加密报文时,本发明实施例还公开了一种报文加密方法,应用于java应用服务器;参见图2,图2为本发明实施例的报文加密方法的又一种流程图,包括如下步骤:

步骤201,接收来自安装ios系统的终端设备的第一加密报文;

步骤202,解析所述第一加密报文,从解析后的第一加密报文中预设的第一标志位和预设的第二标志位中,分别读取第一分块标识和第一填充标识;

在本步骤中,java应用服务器通过解析第一加密报文,从第一加密报文中预留的第一标志位和第二标志位中分别读取第一分块标识和第一填充标识。

步骤203,根据所述第一分块标识,确定第一分块方式;

在具体实施中,可以根据预设的分块方式与分块标识之间的对应关系,根据第一分块标识,确定对应的第一分块方式;可以理解的,分块方式与分块标识之间的对应关系是java应用服务器和安装ios系统的终端设备提前协商好的。

步骤204,根据所述第一填充标识,确定第一填充方式;

在具体实施中,可以根据预设的填充方式与填充标识之间的对应关系,根据第一填充标识,确定对应的第一填充方式;可以理解的,填充方式与填充标识之间的对应关系也是java应用服务器和安装ios系统的终端设备提前协商好的。

需要说明的是,本发明对步骤203与步骤204的执行顺序不加以限制,可以先执行步骤203再执行步骤204,也可以先执行步骤204再执行步骤203,当然,也可以同时执行步骤203和步骤204。

步骤205,使用预设的aes加密算法,对解析后的第一加密报文进行解密处理,得到解密后的第一报文。

其中,所述解密处理包括使用所述第一分块方式对所述解析后的第一加密报文进行组合处理,以及使用所述第一填充方式对所述解析后的第一加密报文进行去填充处理。

在本步骤中,java应用服务器使用第一分块方式和第一填充方式对第一加密报文进行解密处理。

可选的,与步骤101对应的,所述第一分块方式包括ecb分块方式,所述第一填充方式包括pkcs5padding方式;步骤205具体可以包括:

使用所述ecb分块方式,对解析后的第一加密报文进行组合处理;

使用所述pkcs5padding方式,对分块处理后的第一加密报文进行去填充处理;

使用所述aes加密算法,对去填充处理后的第一加密报文进行解密处理,得到解密后的第一报文。

具体的,首先,使用ecb分块方式,将解析后的、已分为若干组的第一加密报文进行组合处理;接下来,使用pkcs5padding方式对第一加密报文进行去填充,去掉安装ios系统的终端设备在加密过程中添加的字段;然后,使用aes加密算法,对去填充处理后的第一加密报文进行解密处理,得到解密后的第一报文。

还需要说明的是,组合处理、去填充处理和解密处理的详细处理过程可以参考现有技术,在此不再赘述。

可以理解的,java应用服务器经过解密处理后得到的解密后的第一报文,应该与安装ios系统的终端设备中待发送的第一报文完全相同。

可见,在本发明实施例中,java应用服务器通过对第一加密报文进行解析,确定加密时使用的第一分块方式和第一填充方式,进而使用第一分块方式对第一加密报文进行组合处理,以及使用第一填充方式对第一加密报文进行去填充处理,保证java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式一致,避免java应用服务器解密失败。

此外,在实际应用中,在java应用服务器向安装ios系统的终端设备发起数据传输的场景下;基于图2所述的实施例,本发明实施例又公开了一种报文加密方法,应用于java应用服务器;参见图3,图3为本发明实施例的报文加密方法的另一种流程图,包括如下步骤:

步骤301,使用所述aes加密算法,对预设的第二报文进行加密处理,生成第二加密报文;

其中,所述加密处理包括分块处理和填充处理。

在实际应用中,当java应用服务器向安装ios系统的终端设备发送数据时,为了保证数据的安全性,本发明实施例使用aes加密算法对java应用服务器中待发送的第二报文进行加密处理。

步骤302,将所述分块处理使用的第二分块方式对应的预设第二分块标识,写入所述第二加密报文中预留的第三标志位;

在实际应用中,与第一标志位同理,预留的第三标志位可以位于第二加密报文的报头位置,当然,也可以根据实际需要,确定第三标志位的预留位置。

在具体实施中,可以根据预设的分块方式与分块标识之间的对应关系,将步骤301中使用的第二分块方式对应的第二分块标识,写入第二加密报文中预留的第三标志位。

其中,步骤302中预设的分块方式与分块标识之间的对应关系可以与步骤102中预设的分块方式与分块标识之间的对应关系相同,也可以不同,具体可以根据实际情况确定。

步骤303,将所述填充处理使用的第二填充方式对应的预设第二填充标识,写入所述第二加密报文中预留的第四标志位;

在实际应用中,与第一标志位同理,预留的第四标志位可以位于第二加密报文的报头位置,当然,也可以根据实际需要,确定第四标志位的预留位置。

在具体实施中,可以根据预设的填充方式与填充标识之间的对应关系,将步骤301中使用的第二填充方式对应的第二填充标识,写入第二加密报文中预留的第四标志位。

同理,步骤303中预设的填充方式与填充标识之间的对应关系可以与步骤103中预设的填充方式与填充标识之间的对应关系相同,也可以不同,具体可以根据实际情况确定。

需要说明的是,本发明对步骤302与步骤303的执行顺序不加以限制,可以先执行步骤302再执行步骤303,也可以先执行步骤303再执行步骤302,当然,也可以同时执行步骤302和步骤303。

步骤304,将已写入所述第三标志位和所述第四标志位的第二加密报文发送至所述安装ios系统的终端设备。

在本步骤中,java应用服务器将携带第三标志位和第四标志位的第二加密报文发送至安装ios系统的终端设备。

这样,安装ios系统的终端设备在接收到来自java应用服务器的第二加密报文后,可以通过解析第二加密报文获取第三标志位和第四标志位,进而确定第二分块方式和第二填充方式。

可见,在本发明实施例中,通过将java应用服务器加密时使用的第一分块方式对应的第一分块标识,以及第一填充方式对应的第一填充标识写如第一加密报文,使得安装ios系统的终端设备在对第一加密报文进行解析时,可以确定加密时使用的第一分块方式和第一填充方式,避免出现由于java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式不一致,而导致的安装ios系统的终端设备解密失败。

接下来,当安装ios系统的终端设备接收来自java应用服务器的第一加密报文时,基于图1所述的实施例,本发明实施例另公开了一种报文加密方法,应用于安装ios系统的终端设备;参见图4,图4为本发明实施例的报文加密方法的再一种流程图,包括如下步骤:

步骤401,接收来自所述java应用服务器的第二加密报文;

步骤402,解析所述第二加密报文,从解析后的第二加密报文中预设的第三标志位和预设的第四标志位中,分别读取第二分块标识和第二填充标识;

在本步骤中,安装ios系统的终端设备通过解析第二加密报文,从第二加密报文中预留的第三标志位和第四标志位中分别读取第二分块标识和第二填充标识。

步骤403,根据所述第二分块标识,确定第二分块方式;

在具体实施中,可以根据预设的分块方式与分块标识之间的对应关系,根据第二分块标识,确定对应的第二分块方式;可以理解的,分块方式与分块标识之间的对应关系是java应用服务器和安装ios系统的终端设备提前协商好的。

步骤404,根据所述第二填充标识,确定第二填充方式;

在具体实施中,可以根据预设的填充方式与填充标识之间的对应关系,根据第二填充标识,确定对应的第二填充方式;可以理解的,填充方式与填充标识之间的对应关系也是java应用服务器和安装ios系统的终端设备提前协商好的。

需要说明的是,本发明对步骤403与步骤404的执行顺序不加以限制,可以先执行步骤403再执行步骤404,也可以先执行步骤404再执行步骤403,当然,也可以同时执行步骤403和步骤404。

步骤405,使用所述aes加密算法,对解析后的第二加密报文进行解密处理,得到解密后的第二报文。

其中,所述解密处理包括使用所述第二分块方式对所述解析后的第二加密报文进行组合处理,以及使用所述第二填充方式对所述解析后的第二加密报文进行去填充处理。

可以理解的,安装ios系统的终端设备经过解密处理后得到的解密后的第二报文,应该与java应用服务器中待发送的第二报文完全相同。

可见,在本发明实施例中,安装ios系统的终端设备通过对第二加密报文进行解析,确定加密时使用的第二分块方式和第二填充方式,进而使用第二分块方式对第二加密报文进行组合处理,以及使用第二填充方式对第二加密报文进行去填充处理,保证java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式一致,避免安装ios系统的终端设备解密失败。

本发明实施例再公开了一种报文加密装置,应用于安装ios系统的终端设备。参见图5,图5为本发明实施例的报文加密装置的一种结构图,该装置与图1所示的方法流程相对应,所述装置包括:

加密单元501,用于使用预设的高级数据加密标准aes加密算法,对第一报文进行加密处理,生成第一加密报文,其中,所述加密处理包括分块处理和填充处理;

写入单元502,用于将所述分块处理使用的第一分块方式对应的预设第一分块标识,写入所述第一加密报文中预留的第一标志位;

写入单元502,还用于将所述填充处理使用的第一填充方式对应的预设第一填充标识,写入所述第一加密报文中预留的第二标志位;

发送单元503,用于将写入所述第一标志位和所述第二标志位后的第一加密报文发送至java应用服务器。

可见,在本发明实施例中,通过将安装ios系统的终端设备加密时使用的第一分块方式对应的第一分块标识,以及第一填充方式对应的第一填充标识写如第一加密报文,使得java应用服务器在对第一加密报文进行解析时,可以确定加密时使用的第一分块方式和第一填充方式,避免出现由于java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式不一致,而导致的java应用服务器解密失败。

可选的,所述第一分块方式包括ecb分块方式,所述第一填充方式包括pkcs5padding方式;

所述加密单元501,包括分块子单元、填充子单元和生成子单元;

所述分块子单元,用于使用所述ecb分块方式,对预设的第一报文进行分块处理;

所述填充子单元,用于使用所述pkcs5padding方式,对分块处理后的第一报文进行填充处理;

所述生成子单元,用于使用预设的aes加密算法,对填充处理后的第一报文进行加密处理,生成第一加密报文。

优选的,基于图5所示的报文加密装置,本发明实施例再公开了一种报文加密装置,应用于安装ios系统的终端设备;参见图6,图6为本发明实施例的报文加密装置的又一种结构图,该装置与图3所示的方法流程相对应,所述装置还包括:

接收单元601,用于接收来自所述java应用服务器的第二加密报文;

解析单元602,用于解析所述第二加密报文,从解析后的第二加密报文中预设的第三标志位和预设的第四标志位中,分别读取第二分块标识和第二填充标识;

确定单元603,用于根据所述第二分块标识,确定第二分块方式;

确定单元603,还用于根据所述第二填充标识,确定第二填充方式;

解密单元604,用于使用所述aes加密算法,对解析后的第二加密报文进行解密处理,得到解密后的第二报文,其中,所述解密处理包括使用所述第二分块方式对所述解析后的第二加密报文进行组合处理,以及使用所述第二填充方式对所述解析后的第二加密报文进行去填充处理。

可见,在本发明实施例中,通过将java应用服务器加密时使用的第一分块方式对应的第一分块标识,以及第一填充方式对应的第一填充标识写如第一加密报文,使得安装ios系统的终端设备在对第一加密报文进行解析时,可以确定加密时使用的第一分块方式和第一填充方式,避免出现由于java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式不一致,而导致的安装ios系统的终端设备解密失败。

本发明实施例再公开了一种报文加密装置,应用于java应用服务器。参见图7,图7为本发明实施例的报文加密装置的另一种结构图,该装置与图2所示的方法流程相对应,所述装置包括:

接收单元701,用于接收来自安装ios系统的终端设备的第一加密报文;

解析单元702,用于解析所述第一加密报文,从解析后的第一加密报文中预设的第一标志位和预设的第二标志位中,分别读取第一分块标识和第一填充标识;

确定单元703,用于根据所述第一分块标识,确定第一分块方式;

确定单元703,还用于根据所述第一填充标识,确定第一填充方式;

解密单元704,用于使用预设的高级数据加密标准aes加密算法,对解析后的第一加密报文进行解密处理,得到解密后的第一报文,其中,所述解密处理包括使用所述第一分块方式对所述解析后的第一加密报文进行组合处理,以及使用所述第一填充方式对所述解析后的第一加密报文进行去填充处理。

可选的,所述第一分块方式包括ecb分块方式,所述第一填充方式包括pkcs5padding方式;

所述解密单元704,包括组合子单元、去填充子单元和解密子单元;

所述组合子单元,用于使用所述ecb分块方式,对解析后的第一加密报文进行组合处理;

所述去填充子单元,用于使用所述pkcs5padding方式,对分块处理后的第一加密报文进行去填充处理;

所述解密子单元,用于使用所述aes加密算法,对去填充处理后的第一加密报文进行解密处理,得到解密后的第一报文。

可见,在本发明实施例中,java应用服务器通过对第一加密报文进行解析,确定加密时使用的第一分块方式和第一填充方式,进而使用第一分块方式对第一加密报文进行组合处理,以及使用第一填充方式对第一加密报文进行去填充处理,保证java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式一致,避免java应用服务器解密失败。

优选的,基于图7所示的报文加密装置,本发明实施例再公开了一种报文加密装置,应用于java应用服务器;参见图8,图8为本发明实施例的报文加密装置的再一种结构图,该装置与图4所示的方法流程相对应,所述装置还包括:

加密单元801,用于使用所述aes加密算法,对预设的第二报文进行加密处理,生成第二加密报文,其中,所述加密处理包括分块处理和填充处理;

写入单元802,用于将所述分块处理使用的第二分块方式对应的预设第二分块标识,写入所述第二加密报文中预留的第三标志位;

写入单元802,还用于将所述填充处理使用的第二填充方式对应的预设第二填充标识,写入所述第二加密报文中预留的第四标志位;

发送单元803,用于将已写入所述第三标志位和所述第四标志位的第二加密报文发送至所述安装ios系统的终端设备。

可见,在本发明实施例中,安装ios系统的终端设备通过对第二加密报文进行解析,确定加密时使用的第二分块方式和第二填充方式,进而使用第二分块方式对第二加密报文进行组合处理,以及使用第二填充方式对第二加密报文进行去填充处理,保证java应用服务器和安装ios系统的终端设备使用的分块方式和/或填充方式一致,避免安装ios系统的终端设备解密失败。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1