本发明涉及电子技术领域,尤其涉及一种数据处理方法和智能终端。
背景技术:
随着物联网技术的发展,各种智能终端应运而生,比如智能冰箱,智能洗衣机,智能空调等等。智能终端与服务器之间的通信,或者智能终端与移动终端之间的通信,均需要对通信的数据进行加密,以保障物联网通信安全。
加密过程中所采用的公钥为智能终端与服务器或者移动终端之间对话的方式进行交互传输。加密过程中所采用的私钥则是在每一个智能终端中内置固定字符串的方式产生,并且同一类别设备内置的固定字符串相同,比如所有冰箱内置的固定字符串相同。智能终端再采用该私钥数据生成加密种子。这样相同类别的设备每次加密所使用的加密种子均相同,很容易被黑客攻击,获得加密种子,降低物联网通信的安全系数。
技术实现要素:
本发明实施例提供一种数据处理方法及智能终端,可以保证每个智能终端每次通信的加密种子都是唯一的,从而提高通信的安全性。
第一方面,本发明实施例提供一种数据处理方法,包括:
当检测到智能终端需要与目标设备通信的请求时,获取实时产生的随机数和所述智能终端的设备信息,所述设备信息用于唯一标识所述智能终端;
根据所述随机数和所述智能终端的设备信息,生成加密种子;
采用预设加密算法和所述加密种子对第一数据加密,获得第一加密数据;
将所述第一加密数据发送至所述目标设备。
在一种可能的设计中,所述设备信息包括所述智能终端的媒体访问控制mac地址和所述智能终端的设备标识中的至少一种。
在一种可能的设计中,所述根据所述随机数和所述智能终端的设备信息,生成加密种子,包括:
根据所述智能终端的设备信息,生成第一字符串;
根据所述随机数,生成第二字符串;
按照预设规则,将所述第一字符串中的元素和所述第二字符串中的元素进行排列组合,获得第三字符串;
将所述第三字符串中元素的值确定为加密种子。
在一种可能的设计中,所述获得第三字符串之后,还包括:
采用消息摘要算法第五版md5加密算法对所述第三字符串中元素的值进行加密,获得加密后的第三字符串;
将所述第三字符串中元素的值作为加密种子,包括:
将所述加密后的第三字符串中元素的值确定为加密种子。
在一种可能的设计中,所述随机数由所述目标设备产生,所述方法还包括:
将所述智能终端的设备信息发送至所述目标设备,以便所述目标设备根据所述随机数和所述智能终端的设备信息生成所述加密种子;
接收所述目标设备发送的第二加密数据,所述第二加密数据是所述目标设备采用所述预设加密算法和所述加密种子对第二数据加密获得的加密数据;
根据与所述预设加密算法对应的解密算法和所述加密种子,对所述第二加密数据解密,获得所述第二数据。
第二方面,本发明实施例提供一种智能终端,包括:
获取模块,用于当检测到智能终端需要与目标设备通信的请求时,获取实时产生的随机数和所述智能终端的设备信息,所述设备信息用于唯一标识所述智能终端;
生成模块,用于根据所述随机数和所述智能终端的设备信息,生成加密种子;
加密模块,用于采用预设加密算法和所述加密种子对第一数据加密,获得第一加密数据;
发送模块,用于将所述第一加密数据发送至所述目标设备。
在一种可能的设计中,所述设备信息包括所述智能终端的媒体访问控制mac地址和所述智能终端的设备标识中的至少一种。
在一种可能的设计中,所述生成模块包括:
第一生成单元,用于根据所述智能终端的设备信息,生成第一字符串;
第二生成单元,用于根据所述随机数,生成第二字符串;
排列单元,用于按照预设规则,将所述第一字符串中的元素和所述第二字符串中的元素进行排列组合,获得第三字符串;
确定单元,用于将所述第三字符串中元素的值确定为加密种子。
在一种可能的设计中,所述生成模块还包括:
加密单元,用于采用消息摘要算法第五版md5加密算法对所述第三字符串中元素的值进行加密,获得加密后的第三字符串;
所述确定单元具体用于将所述加密后的第三字符串中元素的值确定为加密种子。
在一种可能的设计中,所述随机数由所述目标设备产生;
所述发送模块还用于将所述智能终端的设备信息发送至所述目标设备,以便所述目标设备根据所述随机数和所述智能终端的设备信息生成所述加密种子;
所述智能终端还包括:
接收模块,用于接收所述目标设备发送的第二加密数据,所述第二加密数据是所述目标设备采用所述预设加密算法和所述加密种子对第二数据加密获得的加密数据;
解密模块,用于根据与所述预设加密算法对应的解密算法和所述加密种子,对所述第二加密数据解密,获得所述第二数据。
第三方面,本发明实施例提供一种智能终端,包括:
通信接口,用于与外部设备进行通信;
存储介质,存储有程序指令,所述程序指令适于由所述处理器加载;
处理器,用于加载所述程序指令并执行以下操作:
当检测到所述智能终端需要与目标设备通信的请求时,获取实时产生的随机数和所述智能终端的设备信息,所述设备信息用于唯一标识所述智能终端;
根据所述随机数和所述智能终端的设备信息,生成加密种子;
采用预设加密算法和所述加密种子对第一数据加密,获得第一加密数据;
通过所述通信接口将所述第一加密数据发送至所述目标设备。
在一种可能的设计中,所述设备信息包括所述智能终端的媒体访问控制mac地址和所述智能终端的设备标识中的至少一种。
在一种可能的设计中,所述处理器加载所述程序指令执行以下操作以根据所述随机数和所述智能终端的设备信息,生成加密种子:
根据所述智能终端的设备信息,生成第一字符串;
根据所述随机数,生成第二字符串;
按照预设规则,将所述第一字符串中的元素和所述第二字符串中的元素进行排列组合,获得第三字符串;
将所述第三字符串中元素的值确定为加密种子。
在一种可能的设计中,所述处理器加载所述程序指令还用于执行以下操作:
采用md5加密算法对所述第三字符串中元素的值进行加密,获得加密后的第三字符串;
将所述加密后的第三字符串中元素的值确定为加密种子。
在一种可能的设计中,所述随机数由所述目标设备产生,所述处理器加载所述程序指令还用于执行以下操作:
将所述智能终端的设备信息发送至所述目标设备,以便所述目标设备根据所述随机数和所述智能终端的设备信息生成所述加密种子;
接收所述目标设备发送的第二加密数据,所述第二加密数据是所述目标设备采用所述预设加密算法和所述加密种子对第二数据加密获得的加密数据;
根据与所述预设加密算法对应的解密算法和所述加密种子,对所述第二加密数据解密,获得所述第二数据。
第四方面,本发明实施例提供一种存储介质,所述存储介质中存储有多条程序指令,所述程序指令适于由处理器加载并执行如第一方面所述的数据处理方法。
实施本发明实施例,在检测到智能终端需要与目标设备通信时,获取实时产生的随机数和唯一标识该智能终端的设备信息,根据随机数和设备信息,生成加密种子,这样可以保证智能终端每次通信时加密种子的唯一性,提高通信的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种系统架构图;
图2是本发明实施例提供的一种数据处理方法的流程示意图;
图3是本发明实施例提供的一种数据处理方法交互图;
图4是本发明实施例提供的另一种数据处理方法交互图;
图5是本发明实施例提供的数据加密框图;
图6是本发明实施例提供的一种数据加密示意图;
图7是本发明实施例提供的一种智能终端的结构示意图;
图8是本发明实施例提供的另一种智能终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例的系统架构图,如图所示,本发明实施例的系统架构可以包括移动终端、智能终端及服务器,其中,移动终端可以包括个人电脑、笔记本电脑、智能手机、平板电脑、车载终端以及便携式穿戴设备等。智能终端可以包括但不限于各种家电设备(比如智能空调、智能手环、智能洗衣机以及智能冰箱)、办公设备、交通设备等等。智能终端可以与移动终端之间进行数据通信,智能终端也可以与服务器之间进行数据通信。无论是智能终端与移动终端之间的通信,还是智能终端与服务器之间的通信,均需要对数据进行加密,生成加密数据发送。
本发明实施例的目标设备可以是图1中的移动终端或者服务器,智能终端需要向目标设备发送数据时,需要先采用预设加密算法和加密种子对数据进行加密,生成加密数据,然后智能终端将加密数据发送至目标设备。目标设备解密得到智能终端发送的数据。相应的,目标设备需要向智能终端发送数据时,目标设备也需要采用预设加密算法和加密种子对数据进行加密,生成加密数据,然后目标设备将加密数据发送至智能终端。智能终端解密得到目标设备发送的数据。
在本发明实施例中,为了保证在每一次通信中加密种子的唯一性,本发明实施例根据实时产生的随机数和智能终端的设备信息,生成加密种子。智能终端的设备信息用于唯一标识该智能终端,设备信息可以包括该智能终端的设备标识和智能终端的媒体访问控制(mediaaccesscontrol,mac)地址中的至少一种。
请参照图2,为本发明实施例提供的一种数据处理方法的流程示意图,如图所示,本发明实施例的数据处理方法可以包括但不限于以下步骤:
s101,当检测到智能终端需要与目标设备通信的请求时,获取实时产生的随机数和所述智能终端的设备信息,所述设备信息用于唯一标识所述智能终端;
在一个实施例中,目标设备可以是服务器或者移动终端。当智能终端建立与目标设备之间的数据连接后,即可以与目标设备之间进行通信。为了提高智能终端与目标设备之间通信的安全性,通常需要采用预设加密算法和加密种子,对通信的数据进行加密。若能够保证每个设备每次通信时,加密种子的唯一性,则可以大大提高加密的可靠性。
在本发明实施例中,当检测到智能终端需要与目标设备通信的请求时,即获取实时产生的随机数和该智能终端的设备信息。可选的,该智能终端可以实时产生随机数,或者,当智能终端向目标设备请求随机数时,由目标设备实时产生随机数。
可选的,智能终端的设备信息可以是智能终端的mac地址和智能终端的设备标识中的至少一种。
具体可选的,若随机数是由目标设备产生,当智能终端与目标设备之间建立数据连接后,即向目标设备请求预设加密算法以及随机数,目标设备向智能终端返回预设加密算法和随机数。若随机数是由智能终端产生,当智能终端与目标设备之间建立数据连接后,即向目标设备请求预设加密算法,目标设备向智能终端返回预设加密算法。该预设加密算法用于对数据和生成的加密种子加密。
s102,根据所述随机数和所述智能终端的设备信息,生成加密种子;
在一个实施例中,智能终端获取到随机数和智能终端的设备信息后,即根据随机数和智能终端的设备信息,生成加密种子。需要说明的是,智能终端采用加密种子产生算法,对随机数和智能终端的设备信息进行处理,获得加密种子。
具体可选的,智能终端根据随机数和智能终端的设备信息生成加密种子的方法可以包括但不限于以下步骤:
步骤一,根据所述智能终端的设备信息,生成第一字符串;
步骤二、根据所述随机数,生成第二字符串;
步骤三、按照预设规则,将所述第一字符串中的元素和所述第二字符串中的元素进行排列组合,获得第三字符串;
步骤四、将所述第三字符串中元素的值确定为加密种子。
或者,在步骤三获得第三字符串后,采用消息摘要算法第五版(messagedigestalgorithm,md5)加密算法对所述第三字符串中元素的值进行加密,获得加密后的第三字符串,并将加密后的第三字符中元素的值确定为加密种子。
可选的,第一字符串与第二字符串中元素的个数可以相同,比如第一字符串包括16字节,第二字符串也包括16字节,需要说明的是,若第一字符串或者第二字符串中元素的个数未达到16字节,则可以通过填充元素的方式补齐。
可选的,该预设规则可以是按照第一字符串中各个元素值的大小规则排列,或者,该预设规则可以是按照第一字符串中各个元素值的类型规则排列,比如相同类型的元素排列在一起,相同类型可以是都是属于字母或者都是属于数字等等。
可选的,智能终端的设备信息包括智能终端的mac地址和智能终端的设备标识中的至少一种。在此以智能终端的设备信息为智能终端的mac地址和智能终端的设备标识为例进行说明:如图5所示,智能终端根据所获取的mac地址、设备标识以及随机数生成加密种子。具体可选的,将mac地址和设备标识组合在一起,随机数单独组合,最后通过加密种子产生算法对mac地址、设备标识以及随机数进行处理,生成加密种子,采用加密种子和预设加密算法对数据进行加密,形成加密数据。
可选的,如图6所示,以第一字符串为a字符串,第二字符串为b字符串,作为举例说明,a字符串和b字符串均为16字节。具体可选的,使用6字节的mac地址,8字节的设备标识,并填充两个字节,产生字符串a。使用16字节的随机数(该16字节的随机数为智能终端接收的服务器实时产生的16字节随机数)产生字符串b。
智能终端使用除法散列算法(比如hash函数)分别对字符串a和字符串b的每一个元素进行处理,获得字符串a'和字符串b'。需要说明的是,使用除法散列算法分别对字符串a和字符串b进行处理的步骤为可选步骤。
按照预设规则,将字符串a'和字符串b'中所有元素进行排列组合,获得字符串c,字符串c中包括32个字节。在本发明实施例中可以直接将字符串c中各个元素的值作为加密种子。
或者,采用md5加密算法,对字符串c中各个元素的值进行加密处理,生成对应的md5值,所有md5值即构成字符串d,字符串d中也包含32字节。在本发明实施例中也可以将字符串d中各个元素的值作为加密种子。
s103,采用预设加密算法和所述加密种子对第一数据加密,获得第一加密数据;
在一个实施例中,智能终端采用预设加密算法和加密种子对第一数据加密,从而获得第一加密数据。可选的,第一数据可以是智能终端待发送给目标设备的数据,比如控制指令数据。
可选的,预设加密算法可以是由智能终端向目标设备请求的算法,预设加密算法包括但不限于高级加密标准(advancedencryptionstandard,aes128)、数据加密标准(dataencryptionstandard,des)、密钥交换(diffie-hellman,dh)等算法。
s104,将所述第一加密数据发送至所述目标设备。
在一个实施例中,智能终端通过与目标设备之间所建立的数据连接,将第一加密数据发送至目标设备。可选的,该数据连接可以是传输控制协议(transmissioncontrolprotocol,tcp)连接。
实施本发明实施例,在检测到智能终端需要与目标设备通信时,获取实时产生的随机数和唯一标识该智能终端的设备信息,根据随机数和设备信息,生成加密种子,这样可以保证智能终端每次通信时加密种子的唯一性,提高通信的安全性。
请参照图3,为本发明实施例提供的另一种数据处理方法的交互图,如图所示,本发明实施例的数据处理方法包括但不限于如下步骤:
s201,当检测到智能终端需要与目标设备通信的请求时,智能终端获取实时产生的随机数和所述智能终端的设备信息,所述设备信息用于唯一标识所述智能终端;
s202,智能终端根据所述随机数和所述智能终端的设备信息,生成加密种子;
s203,智能终端采用预设加密算法和所述加密种子对第一数据加密,获得第一加密数据;
s204,智能终端将所述第一加密数据发送至所述目标设备。
本发明实施例步骤s201~s204请参照图2的实施例步骤s101~s104,在此不再赘述。
s205,目标设备接收第一加密数据,并解密得到第一数据;
在一个实施例中,目标设备接收到智能终端发送的第一加密数据后,对该第一加密数据进行解密,并获得该第一加密数据中携带的第一数据。第一数据即是智能终端需要发送给目标设备的数据。
具体可选的,目标设备获取与预设加密算法对应的解密算法,采用该解密算法以及加密种子对第一加密数据进行解密,得到第一数据。需要说明的是,目标设备可以根据随机数和智能终端的设备信息生成加密种子,该加密种子与智能终端所生成的加密种子相同。
可选的,随机数由目标设备产生,智能终端将该智能终端的设备信息发送至目标设备,目标设备即可根据随机数和设备信息生成加密种子。需要说明的是,本发明实施例的目标设备根据随机数和智能终端的设备信息,生成加密种子的过程请参照步骤s207的阐述,在此不再赘述。
s206,智能终端将该智能终端的设备信息发送至目标设备;
s207,目标设备根据随机数和智能终端的设备信息,生成加密种子;
在一个实施例中,随机数可以是由目标设备产生,智能终端将智能终端的设备信息发送至目标设备。目标设备获取到随机数和智能终端的设备信息后,可以根据该随机数和设备信息,生成加密种子,具体生成方法请参照步骤s102的阐述,在此不再赘述。
s208,目标设备采用预设加密算法和加密种子对第二数据加密,获得第二加密数据;
在一个实施例中,当目标设备需要与智能终端进行通信时,也可以采用预设加密算法和加密种子对第二数据加密,获得第二加密数据。其中,第二数据可以是目标设备需要发送至智能终端的数据,比如控制指令。具体加密方式可以参照步骤s103的描述,在此不再赘述。
s209,目标设备将第二加密数据发送至智能终端;
s210,智能终端接收第二加密数据;
在一个实施例中,智能终端与目标设备之间建立数据连接,智能终端即可通过该数据连接接收目标设备发送的第二加密数据。
s211,智能终端根据与预设加密算法对应的解密算法和加密种子,对第二加密数据解密,获得第二数据。
在一个实施例中,智能终端可以获取与预设加密算法对应的解密算法,即该解密算法是该预设加密算法的逆过程。智能终端根据解密算法和加密种子,对该第二加密数据进行解密,获得目标设备发送的第二数据。若该第二数据为控制指令,则智能终端根据该控制指令,执行相应的操作。
请参照图4,为本发明实施例提供的一种简易流程交互图,该交互主要包括以下几个步骤:
s20,智能终端与目标设备之间建立tcp连接;
s21,智能终端向目标设备请求加密算法以及随机数;
s22,目标设备确定预设加密算法以及随机数,并将所确定的预设加密算法和随机数发生到智能终端;
s23,智能终端根据随机数和智能终端的设备信息生成加密种子;
s24,目标设备根据随机数以及智能终端的设备信息生成加密种子,智能终端的设备信息可以是由智能终端发送至目标设备;
s25,目标设备与智能终端之间可以基于该加密种子进行数据通信。
实施本发明实施例,在检测到智能终端需要与目标设备通信时,获取实时产生的随机数和唯一标识该智能终端的设备信息,根据随机数和设备信息,生成加密种子,同时,目标设备也可以根据随机数和智能终端的设备信息生成加密种子,这样可以保证智能终端以及目标设备每次通信时加密种子的唯一性,提高通信的安全性。
请参照图7,为本发明实施例提供的一种智能终端的结构示意图,如图所示,本发明实施例的智能终端可以包括:
获取模块10,用于当检测到智能终端需要与目标设备通信的请求时,获取实时产生的随机数和所述智能终端的设备信息,所述设备信息用于唯一标识所述智能终端;
在一个实施例中,目标设备可以是服务器或者移动终端。当智能终端建立与目标设备之间的数据连接后,即可以与目标设备之间进行通信。为了提高智能终端与目标设备之间通信的安全性,通常需要采用预设加密算法和加密种子,对通信的数据进行加密。若能够保证每个设备每次通信时,加密种子的唯一性,则可以大大提高加密的可靠性。
在本发明实施例中,当检测到智能终端需要与目标设备通信的请求时,即获取实时产生的随机数和该智能终端的设备信息。可选的,该智能终端可以实时产生随机数,或者,当智能终端向目标设备请求随机数时,由目标设备实时产生随机数。
可选的,智能终端的设备信息可以是智能终端的mac地址和智能终端的设备标识中的至少一种。
具体可选的,若随机数是由目标设备产生,当智能终端与目标设备之间建立数据连接后,即向目标设备请求预设加密算法以及随机数,目标设备向智能终端返回预设加密算法和随机数。若随机数是由智能终端产生,当智能终端与目标设备之间建立数据连接后,即向目标设备请求预设加密算法,目标设备向智能终端返回预设加密算法。该预设加密算法用于对数据和生成的加密种子加密。
生成模块11,用于根据所述随机数和所述智能终端的设备信息,生成加密种子;
可选的,所述生成模块包括:
第一生成单元,用于根据所述智能终端的设备信息,生成第一字符串;
第二生成单元,用于根据所述随机数,生成第二字符串;
排列单元,用于按照预设规则,将所述第一字符串中的元素和所述第二字符串中的元素进行排列组合,获得第三字符串;
确定单元,用于将所述第三字符串中元素的值确定为加密种子。
可选的,所述生成模块还包括:
加密单元,用于采用md5加密算法对所述第三字符串中元素的值进行加密,获得加密后的第三字符串;
所述确定单元具体用于将所述加密后的第三字符串中元素的值确定为加密种子。
在一个实施例中,智能终端获取到随机数和智能终端的设备信息后,生成模块11即根据随机数和智能终端的设备信息,生成加密种子。需要说明的是,智能终端采用加密种子产生算法,对随机数和智能终端的设备信息进行处理,获得加密种子。
可选的,第一字符串与第二字符串中元素的个数可以相同,比如第一字符串包括16字节,第二字符串也包括16字节,需要说明的是,若第一字符串或者第二字符串中元素的个数未达到16字节,则可以通过填充元素的方式补齐。
可选的,该预设规则可以是按照第一字符串中各个元素值的大小规则排列,或者,该预设规则可以是按照第一字符串中各个元素值的类型规则排列,比如相同类型的元素排列在一起,相同类型可以是都是属于字母或者都是属于数字等等。
可选的,智能终端的设备信息包括智能终端的mac地址和智能终端的设备标识中的至少一种。在此以智能终端的设备信息为智能终端的mac地址和智能终端的设备标识为例进行说明:如图5所示,智能终端根据所获取的mac地址、设备标识以及随机数生成加密种子。具体可选的,将mac地址和设备标识组合在一起,随机数单独组合,最后通过加密种子产生算法对mac地址、设备标识以及随机数进行处理,生成加密种子,采用加密种子和预设加密算法对数据进行加密,形成加密数据。
可选的,如图6所示,以第一字符串为a字符串,第二字符串为b字符串,作为举例说明,a字符串和b字符串均为16字节。具体可选的,使用6字节的mac地址,8字节的设备标识,并填充两个字节,产生字符串a。使用16字节的随机数(该16字节的随机数为智能终端接收的服务器实时产生的16字节随机数)产生字符串b。
智能终端使用除法散列算法(比如hash函数)分别对字符串a和字符串b的每一个元素进行处理,获得字符串a'和字符串b'。需要说明的是,使用除法散列算法分别对字符串a和字符串b进行处理的步骤为可选步骤。
按照预设规则,将字符串a'和字符串b'中所有元素进行排列组合,获得字符串c,字符串c中包括32个字节。在本发明实施例中可以直接将字符串c中各个元素的值作为加密种子。
或者,采用md5加密算法,对字符串c中各个元素的值进行加密处理,生成对应的md5值,所有md5值即构成字符串d,字符串d中也包含32字节。在本发明实施例中也可以将字符串d中各个元素的值作为加密种子。
加密模块12,用于采用预设加密算法和所述加密种子对第一数据加密,获得第一加密数据;
在一个实施例中,智能终端采用预设加密算法和加密种子对第一数据加密,从而获得第一加密数据。可选的,第一数据可以是智能终端待发送给目标设备的数据,比如控制指令数据。
可选的,预设加密算法可以是由智能终端向目标设备请求的算法,预设加密算法包括但不限于高级加密标准(advancedencryptionstandard,aes128)、数据加密标准(dataencryptionstandard,des)、dh等算法。
发送模块13,用于将所述第一加密数据发送至所述目标设备。
在一个实施例中,智能终端通过与目标设备之间所建立的数据连接,将第一加密数据发送至目标设备。可选的,该数据连接可以是传输控制协议(transmissioncontrolprotocol,tcp)连接。
可选的,所述设备信息包括所述智能终端的媒体访问控制mac地址和所述智能终端的设备标识中的至少一种。
可选的,所述随机数由所述目标设备产生;
所述发送模块13还用于将所述智能终端的设备信息发送至所述目标设备,所述智能终端的设备信息用于所述目标设备根据所述随机数生成所述加密种子;
所述智能终端还包括:
接收模块,用于接收所述目标设备发送的第二加密数据,所述第二加密数据是所述目标设备采用所述预设加密算法和所述加密种子对第二数据加密获得的加密数据;
在一个实施例中,智能终端与目标设备之间建立数据连接,智能终端即可通过该数据连接接收目标设备发送的第二加密数据。
解密模块,用于根据与所述预设加密算法对应的解密算法和所述加密种子,对所述第二加密数据解密,获得所述第二数据。
在一个实施例中,智能终端可以获取与预设加密算法对应的解密算法,即该解密算法是该预设加密算法的逆过程。智能终端根据解密算法和加密种子,对该第二加密数据进行解密,获得目标设备发送的第二数据。若该第二数据为控制指令,则智能终端根据该控制指令,执行相应的操作。
实施本发明实施例,在检测到智能终端需要与目标设备通信时,获取实时产生的随机数和唯一标识该智能终端的设备信息,根据随机数和设备信息,生成加密种子,这样可以保证智能终端每次通信时加密种子的唯一性,提高通信的安全性。
请参照图8,为本发明实施例提供的一种智能终端的结构示意图,如图7所示,所述智能终端1000可以包括:至少一个处理器1001,例如cpu,至少一个通信接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。通信接口1003可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1004可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及程序指令。
在图8所示的智能终端1000中,处理器1001可以用于加载存储器1004中存储的程序指令,并具体执行以下操作:
当检测到所述智能终端需要与目标设备通信的请求时,获取实时产生的随机数和所述智能终端的设备信息,所述设备信息用于唯一标识所述智能终端;
根据所述随机数和所述智能终端的设备信息,生成加密种子;
采用预设加密算法和所述加密种子对第一数据加密,获得第一加密数据;
通过所述通信接口1003将所述第一加密数据发送至所述目标设备。
可选的,所述设备信息包括所述智能终端的媒体访问控制mac地址和所述智能终端的设备标识中的至少一种。
可选的,所述处理器1001加载所述程序指令执行以下操作以根据所述随机数和所述智能终端的设备信息,生成加密种子:
根据所述智能终端的设备信息,生成第一字符串;
根据所述随机数,生成第二字符串;
按照预设规则,将所述第一字符串中的元素和所述第二字符串中的元素进行排列组合,获得第三字符串;
将所述第三字符串中元素的值确定为加密种子。
可选的,所述处理器1001加载所述程序指令还用于执行以下操作:
采用md5加密算法对所述第三字符串中元素的值进行加密,获得加密后的第三字符串;
将所述加密后的第三字符串中元素的值确定为加密种子。
可选的,所述随机数由所述目标设备产生,所述处理器1001加载所述程序指令还用于执行以下操作:
将所述智能终端的设备信息发送至所述目标设备,以便所述目标设备根据所述随机数和所述智能终端的设备信息生成所述加密种子;
接收所述目标设备发送的第二加密数据,所述第二加密数据是所述目标设备采用所述预设加密算法和所述加密种子对第二数据加密获得的加密数据;
根据与所述预设加密算法对应的解密算法和所述加密种子,对所述第二加密数据解密,获得所述第二数据。
本实施例中各个组件的具体描述请参照图2和图3实施例的描述,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。