具体实施方式
本发明实施例提供了一种信息处理方法及相关设备,用于通过识别视频的虚假播放,减少视频网站的损失。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,为本申请实施例提供的一种可能的信息处理方法的流程图,具体包括:
101、服务器生成第一公私钥对;
需要说明的是,为了提高服务器与客户端之间进行数据传输的安全性,可以对服务器与客户端之间的通信进行加密处理。本发明实施例中,可采用非对称RSA加密算法来生成公私钥对,其中,当客户端每次打开一个视频进行播放时,则会重新生成一对公私钥对,保障每个视频的公私钥对均不一样。
可选的,本发明中,服务器根据客户端正在播放的当前视频的信息来生成第一公私钥对,其包括第一公钥和第一私钥。具体的第一私钥可以使用随机数生成,第一公钥则调用RSA的接口函数可以生成对应的公钥,第一私钥和第一公钥是唯一配对的关系,生成第一公私钥对的实现方式包括以下步骤:
步骤1、生成随机数据;
Randdata=rand();
通过调用系统函数rand来生成一段随机数据Randdata。
步骤2、依据当前视频的身份标识号码(identification,ID)和随机数生成其Md5值做为第一私钥;
ClientPrivatekey=Md5.Create(Randdata+VideoId);
其中VideoId用于表示当前视频的ID号,需要说明的是,该当前视频的ID可以理解为每个视频的房间号。
通过调用Md5函数的接口Md5.Create来对随机数据和当前视频的ID号拼接到一起计算其Md5值,从而得到了第一私钥的数据。
步骤3、计算第一公钥。
ClientPublickey=RSA.CreatePair(ClientPrivatekey);
第一公钥则调用RSA的生成配对钥匙接口RSA.CreatePair来生成。
从而最终服务器生成了一对第一公钥和第一私钥信息。
102、客户端生成第二公私钥对;
当服务器与客户端交互时,首先服务器会将自己的第一公钥的信息下发给客户端。与此同时,客户端也会依照服务器的方式生成一对第二公私钥对。服务器的生成则也会依照当前视频的ID号,用户的用户身份标识号码(user ID,Uid)以及随机数据来生成第二私钥,从而尽可能保障不同客户端播放不同视频时的私钥不一样。具体实现如下:
步骤1、生成随机数据;
Randdata=rand();
通过调用系统函数rand来生成一段随机数据Randdata。
步骤2、依据当前视频的ID号、Uid和随机数生成其Md5值做为第二私钥。
ServerPrivatekey=Md5.Create(Randdata+Uid+VideoId);
通过调用Md5函数的接口Md5.Create来对随机数、用户的Uid和当前视频的ID号拼接到一起计算其Md5值,从而得到了第二私钥的数据。
步骤3、计算第二公钥。
ServerPublickey=RSA.CreatePair(ServerPrivatekey);
第二公钥则调用RSA的生成配对钥匙接口RSA.CreatePair来生成。
从而客户端则生成了第二公私钥对的信息。
此时客户端收到服务器下发的第一公钥后,则将自己的第二公钥的信息发送给服务器。
103、服务器与客户端互换公钥并生成共享秘钥;
服务器和客户端互换各自的公钥信息,来生成一个共享秘钥,可以理解的是,服务器和客户端生成的共享秘钥是同一个值。需要说明的是,为了保证服务器和客户端生成的共享秘钥是同一个值,服务器和客户端在生成共享秘钥之前,需要协商确定一个生成算法,该生成算法用于根据第一公钥和第二公钥生成共享秘钥。
具体服务器和客户端互换公钥并生成共享秘钥实现如下:
步骤1、互换公钥。
服务器将服务器的第一公钥ServerPublickey发送给客户端。
客户端将客户端的第二公钥ClientPublickey发送给服务器。
步骤2、客户端生成共享秘钥。
ShareKey=RSA.CreateShareKey(ServerPublickey,ClientPrivatekey);
步骤3、服务器生成共享秘钥。
ShareKey=RSA.CreateShareKey(ClientPublickey,ServerPrivatekey);
由于生成因素和生成算法一致,从而服务器和客户端生成的ShareKey的值是一致的。
需要注意的是,客户端通过步骤2生成共享秘钥,服务器通过步骤3生成共享秘钥,这两个过程并没有时序的限定,即可以先执行步骤2,也可以先执行步骤3,或者同时执行,具体此处不做限定。
服务器和客户端都生成共享秘钥后,根据该共享秘钥对服务器和客户端进行加密或者解密处理。可选的,本申请实施例中,除了采用非对称RSA加密算法来进行加密或者解密处理外,还可以采用数据加密算法(Data Encryptin Standard,DES)或者其他加密算法,具体此处不做限定。
104、服务器在直播平台的各视频中分别加入验证信息;
对于直播平台的所有视频都是用户将制作好的视频上传到服务器,服务器则会对每个视频进行审核,并在每个视频中加入直播平台的水印以防止其他平台盗取该视频。在对视频加入水印后,服务器会在直播平台的每个视频中分别加入验证信息,且该验证信息不会影响视频的播放,只是起到验证的作用,即该验证信息用于识别直播平台的客户端。
需要说明的是,服务器在各视频中加入的验证信息可以均不一样,例如,服务器可以根据各视频的身份标识信息(identification,ID)生成各视频唯一对应的验证信息;或者,服务器还可以对每个视频生成一个唯一的字符串,如对每个视频随机生成一个128位或者256位的字符串,并将该字符串作为各视频对应的验证信息。因此,服务器生成验证信息的方式具体此处不做限定。
105、客户端得到当前视频的视频信息;
当用户通过客户端观看当前视频时,客户端可以下载该当前视频的视频信息,其中该当前视频的视频信息携带有当前视频的验证信息。
106、客户端根据视频信息中的验证信息生成客户端计算结果;
客户端得到当前视频的验证信息后,客户端根据该当前视频的验证信息计算得到客户端计算结果,具体实现方式可以如下:
Md5result=md5.create(data+deviceid+token+time);
其中,Md5result用于表示客户端计算结果,md5.create为md5算法的接口,data则是当前视频中的验证信息,deviceid表示客户端的设备唯一id,每个用户的deviceid都不一样;token为客户端登录时服务器下发的token,time表示客户端当前的时间戳信息。
107、客户端向服务器发送客户端计算结果;
客户端计算得到客户端计算结果后,根据共享密钥对该客户端计算结果进行加密,并将加密后的客户端计算结果发送给服务器。其中,本发明实施例中,可以采用加密算法如高级加密标准(advanced encryption standard,AES)算法对客户端计算结果来进行加密,具体实现如下:
encryptData=Aes.Encrypt(Md5result,ShareKey);
其中encryptData用于表示加密后的客户端计算结果,Md5result用于表示客户端计算结果,ShareKey用于表示共享秘钥。
可选的,本发明实施例中,步骤101至步骤103为可选步骤,即服务器与客户端可以不生成共享秘钥,客户端对客户端计算结果进行加密处理时,除了使用ShareKey进行加密以外,还可以使用该客户端每次登陆时服务器给客户端随机生成的随机数,因此,客户端对客户端计算结果进行加密的方式具体此处不做限定。
108、服务器根据共享秘钥接收客户端计算结果;
服务器接收加密后的客户端计算结果后,对该加密后的客户端计算结果进行解密,得到原始的客户端计算结果。
具体地,服务器也可以使用AES算法来对加密后的客户端计算结果进行解密操作,具体实现如下:
Md5result=Aes.decrypt(encryptData,ShareKey);
故服务器接收加密后的客户端计算结果,并根据共享秘钥解密得到了原始的客户端计算结果。
对应的,当客户端使用该客户端每次登陆时服务器给客户端随机生成的随机数对客户端计算结果进行加密时,则服务器也使用该随机生成的随机数进行解密操作,因此,服务器对客户端计算结果进行解密操作的方式具体此处不做限定。
另外,由于只有直播平台的客户端才会解密出该验证信息,而其他非直播平台的客户端并不知道有一条验证信息,且并不知道如何计算客户端计算结果,因此,当客户端不上报该客户端计算结果时,服务器可以确定当前观看当前视频的记录为虚假记录。
109、服务器根据视频数据生成服务器计算结果;
需要说明的是,服务器具有当前视频的整个视频内容,故服务器也按照客户端的计算方式来进行MD5计算,从而得到服务器计算结果,具体得到服务器计算结果的方式与步骤106类似,具体此处不再赘述。
需要注意的是,服务器通过步骤109生成服务器计算结果,客户端通过步骤106生成客户端计算结果,这两个过程并不存在特定的时序关系,即可以先执行步骤109,也可以先执行步骤106,或者同时执行,具体此处不做限定。
110、服务器确定客户端计算结果与服务器计算结果是否一致;若否,则执行步骤111;若是,则执行步骤112;
服务器得到客户端计算结果与服务器计算结果后,比对客户端计算结果与服务器计算结果是否一致,若客户端计算结果与服务器计算结果不一致,则执行步骤113;若客户端计算结果与服务器计算结果一致,则执行步骤114。
111、服务器确定当前观看当前视频的记录为虚假记录;
当客户端计算结果与服务器计算结果不一致时,说明客户端的计算有问题,则确定当前观看该视频的记录为虚假记录,即该当前视频的此次播放不算做当前视频的观看次数内。
112、服务器确定当前观看当前视频的记录为合法记录。
当客户端计算结果与服务器计算结果一致时,可以认为客户端的计算没有问题,客户端有真实的播放当前视频,则确定当前观看该视频的记录为合法记录,即该当前视频的此次播放算入当前视频的观看次数内。
需要说明的是,本发明实施例中,除了通过图1所示的信息处理方法来识别视频的虚假播放,还可以采用如下方式来识别视频的虚假播放,例如:
方式1:服务器和客户端可以协商一个共享密钥,该共享密钥用于对服务器和客户端之间的通信进行加密或者解密。服务器根据客户端播放的当前视频获得视频数据,如随机数据Rdata,起始帧数据startFrame,和需要计算的帧数NumFrames,和当前的时间戳信息;服务器将该视频数据发送给客户端,以使得客户端根据视频数据进行计算得到客户端计算结果,具体的,客户端从当前视频的起始帧数和需要计算的帧数来对视频数据进行MD5计算,同时计算时也会加上服务器下发的随机数据Rdata,从而保障即使是相同的起始帧和帧数,最终计算得到的客户端计算结果是不一致的。具体实现如下:
Md5result=Md5.Create(video_data+Rdata);其中Md5result用于表示客户端计算结果,video_data用于表示视频的起始帧到帧数的视频数据;Rdata用于表示服务器下发的随机数据。故最终通过md5算法则得到了HASH的结果数据即客户端计算结果,客户端再使用共享密钥将该客户端计算结果加密发送给服务器。服务器接收客户端发送的客户端计算结果,并使用共享密钥解密;其中,服务器也会根据视频数据按照相同的算法得到服务器计算结果,当客户端计算结果与服务器计算结果不同时,则服务器确定当前观看所述当前视频的记录为虚假记录。
方式2:在客户端中定期得到采集信息(采集信息包括观看的视频编号,用户的唯一uid,视频观看时的起始帧的打开时间,当前视频的码率,当前视频播放的FPS,视频的硬件解码,软件解码,视频观看的状态记录(是否有错误出现等,是否有卡顿现象),视频的观看时长,及整个观看时长所下载的视频流数据的总量),例如以1分钟为界限,每隔1分钟来采集一次采集信息,并且将该采集信息使用客户端和服务器协商的加密算法来将采集信息上报到服务器。因此,任何第三方平台盗刷(第三方平台使用通用的或者第三方平台自己的视频播放器)视频流或者并没有观看过视频,则都不会有该采集信息。同时对于黑客来说,本文的采集信息为加密后的采集信息(加密算法是通过客户端和服务器进行协商的共享秘钥来加密,并且采集信息的加密是依赖于时间和用户独有的信息,那么复制该条数据来伪造采集信息,服务器则可以通过解密采集信息来识别该采集信息是非法的,同时即使采集信息被截获,黑客获取不到共享秘钥也无法进行解密采集信息),不容易伪造和截获。
进一步的为了对破解或者黑客起到干扰的作用,也可以定期上报明文的数据采集信息,明文数据采集主要包含部分不是特别重要的信息,其目的是数据采集信息是明文,黑客很容易发现数据采集信息,从而让黑客以为本文是通过上报这些明文的数据采集信息来识别盗刷行为的。其中,数据采集信息可以包含当前用户设备唯一ID信息,当前观看时长信息,当前观看影片的ID信息,当前观看的视频码率信息。此数据采集信息则主要是用于干扰黑客。
需要说明的是,本发明上报的客户端下载的视频流流量数据可以非常好的识别盗刷的行为,首先正常的观看例如10分钟的视频,则必须在一个合理的视频流量的范围内容,不在范围内则都是非法的,同时即使黑客去盗刷,那么其必须有非常大的网络带宽,才能刷大量的虚假观看次数,从而对于黑客则由极大的成本。因此通过本文的上述信息能够比较好的识别出盗刷视频观看次数的用户。
方式3:可以理解的是,对于一个正常的用户来说,其同时观看视频的频率是有限的。而对于黑客来说,为了伪造大量的观看记录,则其需要大量的刷观看记录才会有收益。那么需要一种方法来证明客户端有进行观看视频的验证,验证方法可以是客户端通过一定的计算量得到一个验证数据,其中计算验证数据会消耗客户端的CPU资源,从而使得客户端同时并发观看视频时,需要并发进行大量的计算消耗CPU资源,从而使得其并发数量有限,故能够阻止客户端的刷观看次数的行为。对于正常用户,正常的观看一次视频不影响用户,而对于并发大量发观看视频则会影响非常大,增加了其成本。那么如何设计算法,能够使得客户端会有一定计算量来得到验证结果,并且又不能绕过计算,同时服务器又比较容易的判断客户端的结果是否正确。那么本发明则设计了一套算法来使得客户端有一定计算量,服务器又比较容易鉴别客户端的结果,并且不消耗服务器的计算资源。首先客户端和服务器会协商一个共享秘钥,然后服务器会生成一个32位长度的随机字符串,和一个0的个数。这2个数据都会最终发送到客户端中。并且通过之前协商的共享秘钥进行加密。客户端收到服务器的数据后,首先对服务器的数据进行解密,从而得到随机数据字符串和需要计算的结果数据的0的个数位数。客户端编写算法来生成服务器需要的结果数据。客户端计算则是包含客户端的设备唯一ID、客户端登录时使用的TOKEN数据、客户端当前观看的视频唯一ID、服务器下发的随机数据、当前的系统时间戳信息拼接到一起,并加上客户端自身的随机数据,一起来计算MD5值,具体实现方式如下:
Md5result=Md5.Create(DeviceId+Token+videoId+rdata+Time+clientRandData);其中DeviceId则是客户端的设备唯一ID;其中Token则是客户端登录服务器时的token值;videoId则是视频的唯一id;rdata则是服务器下发的随机数据;clientRandData则是客户端生成的随机数据。最终通过md5算法则得到了HASH的结果数据,由于服务器会要求客户端计算的结果数据中,开头为0的个数。例如计算得到的是“2013dabcd6987abc4523654123451263”。由于该结果数据的起始第一位是2而并不是0,所以客户端还需要不断的生成随机数据来计算MD5值,直到起始位为0,才满足服务器的要求。所以客户端的计算量则在与不断的生成随机数据,不断的计算MD5值,直到满足服务器的要求。服务器也可以对客户端的计算量起到调节的作用,例如起始为0的个数越多,则客户端的计算量则越大。从而使得客户端计算非常复杂。客户端计算完成满足服务器的结果后,将结果数据和客户端参与计算的数据发送到服务器。则包括Md5result+DeviceId+Time+clientRandData。而其他数据包括视频唯一ID和登录时的token服务器本身有记录。服务器验证客户端计算结果。客户端将满足服务器的结果数据上报到服务器,服务器则会依据客户端数据来校验。Md5result=Md5.Create(DeviceId+Token+videoId+rdata+Time+clientRandData);并对Md5result判断与客户端的是否一致,并且起始的0的个数是否满足,如果满足则说明客户端的结果是正确的。并且服务器只需要计算一次MD5值就可以知道客户端的结果是否正确,因为客户端是在频繁的计算MD5值以取得一个合适的随机数据clientRandData,而服务器则从客户端上报的结果知道客户端选择的随机数据,从而服务器验证则比较简单。
上面从信息处理方法的角度对本发明实施例进行了描述,下面分别从服务器和客户端的角度分别对本发明实施例进行描述。
请参阅图2,图2为本发明实施例提供的服务器的一个实施例示意图,该服务器,具体包括:
处理单元201,用于在直播平台的各视频中分别加入验证信息,所述验证信息用于识别所述直播平台的客户端;
收发单元202,当所述客户端播放当前视频时,用于接收所述客户端发送的客户端计算结果,所述客户端计算结果为所述客户端根据所述当前视频的验证信息计算得到;
确定单元203,当所述客户端计算结果与服务器计算结果不一致时,用于确定当前观看所述当前视频的记录为虚假记录,所述服务器计算结果为所述服务器根据所述视频数据计算得到。
可选的,在一些可能的实现方式中,所述服务器还包括:
生成单元204,用于与所述客户端进行协商生成共享秘钥,所述共享秘钥用于对所述服务器和所述客户端之间的通信进行加密或解密。
可选的,在一些可能的实现方式中,所述生成单元204包括:
生成模块2041,用于根据所述当前视频的信息生成第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥;
收发模块2042,用于向所述客户端发送所述第一公钥,以使得所述客户端根据所述第一公钥生成共享秘钥;
所述生成模块2041还用于根据所述第一公钥和第二公钥生成所述共享秘钥,所述第二公钥由所述客户端生成并发送。
可选的,在一种可能的实现方式中,所述服务器还包括:
解密单元205,用于根据所述共享秘钥解密所述客户端计算结果,得到解密后的客户端计算结果。
请参阅图3,图3为本发明实施例提供的客户端的一个实施例示意图,该客户端,具体包括:
获得单元301,当客户端播放当前视频时,用于得到所述当前视频的视频信息,所述视频信息包括验证信息;
生成单元302,用于根据所述验证信息生成客户端计算结果;
收发单元303,用于将所述客户端计算结果发送给所述服务器,以使得所述服务器根据所述客户端计算结果确定当前观看所述当前视频的记录是否为虚假记录。
可选的,在一种可能的实现方式中,所述生成单元302还用于:与所述服务器进行协商生成共享秘钥,所述共享秘钥用于对所述客户端和所述视频网服务器之间的通信进行加密或解密;
所述客户端还包括:
加密单元304,用于根据所述共享秘钥加密所述客户端计算结果。
如图4所示,本发明实施例提供了一种电子设备,包括存储器410、处理器420及存储在存储器420上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现以下步骤:在直播平台的各视频中分别加入验证信息,所述验证信息用于识别所述直播平台的客户端;当所述客户端播放当前视频时,接收所述客户端发送的客户端计算结果,所述客户端计算结果为所述客户端根据所述当前视频的验证信息计算得到;当所述客户端计算结果与服务器计算结果不一致时,确定当前观看所述当前视频的记录为虚假记录,所述服务器计算结果为所述服务器根据所述视频数据计算得到。
可选的,所述处理器还用于:
与所述客户端进行协商生成共享秘钥,所述共享秘钥用于对所述服务器和所述客户端之间的通信进行加密或解密。
可选的,与所述客户端进行协商生成共享秘钥包括:
根据所述当前视频的信息生成第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥;向所述客户端发送所述第一公钥,以使得所述客户端根据所述第一公钥生成共享秘钥;根据所述第一公钥和第二公钥生成所述共享秘钥,所述第二公钥由所述客户端生成并发送。
可选的,将所述视频数据发送给所述客户端包括:根据所述共享秘钥解密所述客户端计算结果,得到解密后的客户端计算结果。
可选的,根据所述第一公钥和第二公钥生成共享秘钥之前,还包括:与所述客户端确定生成算法,所述生成算法用于生成所述共享秘钥。
在具体实施过程中,处理器420执行计算机程序411时,可以实现图1对应的实施例中任一实施方式。
由于本实施例所介绍的电子设备为实施本发明实施例中一种服务器所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
请参阅图5,图5为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
如图5所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:在直播平台的各视频中分别加入验证信息,所述验证信息用于识别所述直播平台的客户端;当所述客户端播放当前视频时,接收所述客户端发送的客户端计算结果,所述客户端计算结果为所述客户端根据所述当前视频的验证信息计算得到;当所述客户端计算结果与服务器计算结果不一致时,确定当前观看所述当前视频的记录为虚假记录,所述服务器计算结果为所述服务器根据所述视频数据计算得到。
可选的,该计算机程序511被处理器执行时还用于实现如下步骤:
与所述客户端进行协商生成共享秘钥,所述共享秘钥用于对所述服务器和所述客户端之间的通信进行加密或解密。
可选的,该计算机程序511被处理器执行时还用于实现如下步骤:根据所述当前视频的信息生成第一公私钥对,所述第一公私钥对包括第一公钥和第一私钥;向所述客户端发送所述第一公钥,以使得所述客户端根据所述第一公钥生成共享秘钥;根据所述第一公钥和第二公钥生成所述共享秘钥,所述第二公钥由所述客户端生成并发送。
可选的,该计算机程序511被处理器执行时还用于实现如下步骤:根据所述共享秘钥解密所述客户端计算结果,得到解密后的客户端计算结果。
可选的,该计算机程序511被处理器执行时还用于实现如下步骤:与所述客户端确定生成算法,所述生成算法用于生成所述共享秘钥。
请参阅图6,为本发明实施例提供的另一种电子设备的实施例示意图。
如图6所示,本发明实施例提供了一种电子设备,包括存储器610、处理器620及存储在存储器620上并可在处理器620上运行的计算机程序611,处理器620执行计算机程序611时实现以下步骤:当播放当前视频时,得到所述当前视频的视频信息,所述视频信息包括验证信息;根据所述验证信息生成客户端计算结果;将所述客户端计算结果发送给所述服务器,以使得所述服务器根据所述客户端计算结果确定当前观看所述当前视频的记录是否为虚假记录。
可选的,所述处理器620还用于执行:
与所述服务器进行协商生成共享秘钥,所述共享秘钥用于对所述客户端和所述视频网服务器之间的通信进行加密或解密;
所述客户端根据所述验证信息生成客户端计算结果后,所述客户端将所述客户端计算结果发送给所述服务器之前,所述处理器620还用于执行:
根据所述共享秘钥加密所述客户端计算结果。
在具体实施过程中,处理器620执行计算机程序611时,可以实现图1对应的实施例中任一实施方式。
由于本实施例所介绍的电子设备为实施本发明实施例中一种客户端所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
请参阅图7,图7为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
如图7所示,本实施例提供了一种计算机可读存储介质700,其上存储有计算机程序711,该计算机程序711被处理器执行时实现如下步骤:当播放当前视频时,得到所述当前视频的视频信息,所述视频信息包括验证信息;根据所述验证信息生成客户端计算结果;将所述客户端计算结果发送给所述服务器,以使得所述服务器根据所述客户端计算结果确定当前观看所述当前视频的记录是否为虚假记录。
可选的,该计算机程序711被处理器执行时实现如下步骤:
与所述服务器进行协商生成共享秘钥,所述共享秘钥用于对所述客户端和所述视频网服务器之间的通信进行加密或解密;
所述根据所述验证信息生成客户端计算结果后,所述将所述客户端计算结果发送给所述服务器之前,该计算机程序711被处理器执行时实现如下步骤:
根据所述共享秘钥加密所述客户端计算结果。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。