CN108881934B - 一种弹幕验证方法、计算机设备和存储介质 - Google Patents
一种弹幕验证方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108881934B CN108881934B CN201810317893.0A CN201810317893A CN108881934B CN 108881934 B CN108881934 B CN 108881934B CN 201810317893 A CN201810317893 A CN 201810317893A CN 108881934 B CN108881934 B CN 108881934B
- Authority
- CN
- China
- Prior art keywords
- bullet screen
- field
- protocol
- barrage
- timestamp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2351—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种弹幕验证方法、计算机设备和存储介质,该方法包括:发送登录协议到直播平台的弹幕服务器;若登录成功,接收所述弹幕服务器返回的token字段;生成弹幕协议;根据所述token字段、直播间的房间号、弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;对所述k字段进行加密;在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议。可见,本申请可以通过登录协议的验证来及时发现非法用户,以及通过验证k字段来识别非法弹幕协议,丰富了处理刷弹幕的方式。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种弹幕验证方法、计算机设备和存储介质。
背景技术
目前,直播越来越受到大家的欢迎。而弹幕则是直播中非常好的互动方式。例如,主播在直播时,观众可以通过发送弹幕来发表评论,与主播进行互动。任何观众发送的弹幕在该直播间的所有用户都可以看到。
然而,有一些非法用户,利用弹幕能够被所有观众看到的特点,而不断的在直播平台通过发送弹幕来打广告,例如,通过建立一条与直播平台服务器的链接并且伪造弹幕协议来刷弹幕,并且编写自动化脚本来刷弹幕。现有的做法是在直播平台服务端进行弹幕过滤及防刷的识别,来阻挡刷弹幕的行为。
可见,现有技术对于刷弹幕的处理方式比较单一。
发明内容
本申请实施例通过提供一种弹幕验证方法、计算机设备和存储介质,解决了现有技术中,对于刷弹幕的处理方式比较单一的问题。
第一方面,本申请实施例提供了一种弹幕验证方法,所述方法应用于客户端设备,所述方法包括:
发送登录协议到直播平台的弹幕服务器;
若登录成功,接收所述弹幕服务器返回的token字段;
生成弹幕协议,所述弹幕协议包括弹幕内容和弹幕协议的时间戳;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及所述弹幕内容计算k字段,其中,所述直播间的房间号通过向所述弹幕服务器发送获取房间信息的协议来获取,所述弹幕的发送次数为弹幕发送成功的次数,根据所述弹幕服务器返回的弹幕发送成功消息计算得到,初始值为0;
对所述k字段进行加密;
在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议。
可选的,所述根据所述token字段、直播间的房间号、弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段包括根据以下公式计算k字段:
k=md5.create(token+roomid+ts+no+content);
其中,md5.create是hash算法md5的计算接口;
token是所述token字段;
roomid是所述直播间的房间号;
ts是所述弹幕协议的时间戳;
no是所述弹幕的发送次数;
content是所述弹幕内容。
可选的,所述对所述k字段进行加密,包括根据以下公式对所述k字段进行加密:
encryptk=TEA.encrypt(k,ts)
其中TEA.encrypt是加密算法tea的加密接口;
k是所述k字段;
ts是所述弹幕协议的时间戳;
encryptk是所述k字段的加密结果。
第二方面,本申请实施例提供了一种弹幕验证方法,所述方法应用于直播平台的弹幕服务器,所述方法包括:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
可选的,所述根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段包括根据以下公式计算k字段:
k=md5.create(token+roomid+ts+no+content);
其中,md5.create是hash算法md5的计算接口;
token是所述token字段;
roomid是所述直播间的房间号;
ts是所述弹幕协议的时间戳;
no是所述弹幕的发送次数;
content是所述弹幕内容。
可选的,所述对所述加密后的k字段进行解密,从而得到k字段包括根据以下公式对所述加密后的k字段进行解密,从而得到k字段:
k=TEA.decrypt(ts,encryptk);
其中,TEA.decrypt是TEA的加密算法的解密接口;
ts是所述弹幕协议的时间戳;
encryptk是所述加密后的k字段。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
发送登录协议到直播平台的弹幕服务器;
若登录成功,接收所述弹幕服务器返回的token字段;
生成弹幕协议,所述弹幕协议包括弹幕内容和弹幕协议的时间戳;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及所述弹幕内容计算k字段,其中,所述直播间的房间号通过向所述弹幕服务器发送获取房间信息的协议来获取,所述弹幕的发送次数为弹幕发送成功的次数,根据所述弹幕服务器返回的弹幕发送成功消息计算得到,初始值为0;
对所述k字段进行加密;
在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议。
第四方面,本申请实施例提供了一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
发送登录协议到直播平台的弹幕服务器;
若登录成功,接收所述弹幕服务器返回的token字段;
生成弹幕协议,所述弹幕协议包括弹幕内容和弹幕协议的时间戳;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及所述弹幕内容计算k字段,其中,所述直播间的房间号通过向所述弹幕服务器发送获取房间信息的协议来获取,所述弹幕的发送次数为弹幕发送成功的次数,根据所述弹幕服务器返回的弹幕发送成功消息计算得到,初始值为0;
对所述k字段进行加密;
在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
第六方面,本申请实施例提供了一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
本申请实施例中,客户端设备发送登录协议到直播平台的弹幕服务器;弹幕服务器对登录协议进行验证,验证通过,则登录成功,所述弹幕服务器向客户端返回token字段;客户端设备生成弹幕协议;客户端设备根据所述token字段、直播间的房间号、弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段,并对所述k字段进行加密;在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议;弹幕服务器接收到弹幕协议后,先判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;根据token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;判断解密得到的k字段与弹幕服务器自行计算得到的k字段是否一致,若是,则验证通过,可以在直播间播放该弹幕内容。可见,本申请实施例可以通过登录协议的验证来及时发现非法用户,以及通过验证k字段来识别非法弹幕协议,丰富了处理刷弹幕的方式。
附图说明
图1为本申请实施例中提供的一个弹幕验证方法的流程图;
图2为本申请实施例中提供的另一个弹幕验证方法的流程图;
图3为本申请实施例中提供的弹幕验证方法的交互图;
图4为本申请实施例中提供的一个计算机可读存储介质的结构示意图;
图5为本申请实施例中提供的一个计算机设备的结构示意图;
图6为本申请实施例中提供的另一个计算机可读存储介质的结构示意图;
图7为本申请实施例中提供的另一个计算机设备的结构示意图;
具体实施方式
本申请实施例提供了一种弹幕验证方法、计算机设备和存储介质,解决了现有技术中,对于刷弹幕的处理方式比较单一的问题。本申请实施例可以通过登录协议的验证来及时发现非法用户,以及通过验证k字段来识别非法弹幕协议,丰富了处理刷弹幕的方式。
为了更好的理解上述技术方案,以下结合附图以及具体实施例,对上述技术方案进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。同时,为了方便介绍本发明实施例中的技术方案,下文将基于包括直播平台的弹幕服务器和客户端设备的网络结构进行描述,并不用于限定本申请,其中,客户端设备与弹幕服务器通过TCP协议进行连接。可以理解的是,本申请实施例使用的函数名称或变量名称等,并不用于限定本申请,在一些其他可能的实现方式中,也可以使用其他命名方式。
实施例一:
请参阅图1,本实施例提供的一种弹幕验证方法,所述方法应用于客户端设备,所述方法包括以下步骤:
S101、发送登录协议到直播平台的弹幕服务器;
S102、若登录成功,接收所述弹幕服务器返回的token字段;
S103、生成弹幕协议;
其中,所述弹幕协议包括弹幕内容和弹幕协议的时间戳。
S104、根据所述token字段、直播间的房间号、弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
其中,所述直播间的房间号通过向所述弹幕服务器发送获取房间信息的协议来获取,所述弹幕的发送次数为弹幕发送成功的次数,根据所述弹幕服务器返回的弹幕发送成功消息计算得到,初始值为0。
S105、对所述k字段进行加密;
S106、在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议。
可见,本实施例在客户端设备侧增加了登录协议,以及在弹幕协议中加入了k字段,以此来区分非法用户和非法弹幕协议,丰富了处理刷弹幕的方式。
以上是基于客户端设备的弹幕验证方法,基于同一发明构思,本申请还提供了另一种弹幕验证方法,该方法应用于直播平台的弹幕服务器,详见图2,下面将结合图2对实施例二进行介绍。
实施例二:
请参阅图2,本实施例提供的一种弹幕验证方法,所述方法应用于直播平台的弹幕服务器,所述方法包括以下步骤:
S201、接收客户端设备发送的登录协议;
S202、若登录成功,向所述客户端设备返回token字段;
S203、接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
S204、判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
S205、根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
S206、判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
可见,本实施例在弹幕服务器侧增加了登录协议的验证,以及弹幕协议中k字段的验证,以此来区分非法用户和非法弹幕协议,丰富了处理刷弹幕的方式。
本申请实施例二提供的弹幕验证方法及本申请实施例一提供的弹幕验证方法属于同一构思,为了更好地理解本申请,下面将结合图3从客户端设备与弹幕服务器之间交互的角度进行详细说明,请见实施例三。
实施例三:
请参阅图3,本实施例从客户端设备与弹幕服务器交互的角度提供了一种弹幕验证方法,所述方法包括以下步骤:
S301、客户端设备发送登录协议到直播平台的弹幕服务器;
相应的,弹幕服务器接收客户端设备发送的登录协议。
具体的,对于通过TCP成功链接到直播平台的弹幕服务器的客户端设备,客户端设备主动通过账号密码登录。客户端设备发送登录协议到直播平台的弹幕服务器,弹幕服务器判断客户端设备的登录信息的合法性,以及是否是注册用户,如果登录信息不合法或者不是注册用户,则登录失败,弹幕服务器会主动断开该链接,从而虚假客户端或者非注册用户将无法在直播平台发送弹幕。而且,登录协议会对用户的账号密码经过复杂的加密验证,弹幕服务器则会对用户的登录加密验证进行核对,若核对正确,则登录成功,说明客户端设备是合法客户端设备,才可以进行后续的发送弹幕功能。
还需要说明的是,客户端设备包括但不限于手机、平板电脑、台式电脑、PDA(Personal Digital Assistant,个人数字助理)、车载电脑、智能手表等设备。
S302、若登录成功,客户端设备接收所述弹幕服务器返回的token字段;
相应的,若登录成功,弹幕服务器向所述客户端设备返回token字段。
token(令牌)是可以有效验证客户端设备是否是一个直播平台注册登陆的用户,并且token能够保障不同的用户其token值是不一样的。本实施例中,将把token字段加入到弹幕验证字段的计算中,从而保障了不同的用户,最终计算的验证字段是不一样的。
S303、客户端设备生成弹幕协议;
其中,所述弹幕协议包括弹幕内容和弹幕协议的时间戳。可以理解的是,该弹幕协议为现有的弹幕协议,举个例子,现有的弹幕协议如下:
type@=chatmessage/content@=666/style@=/ts@=1520128375/
其中“type@=chatmessage”表示此条协议是发送弹幕的协议。
其中“content@=666”表示此条弹幕内容是“666”。
其中“style@=”表示此条弹幕的样式,颜色大小等等。
其中“ts@=1520128375”表示此条弹幕协议的时间戳信息。
本实施例则在现有的弹幕协议中增加一个验证字段k字段,用于验证弹幕协议的合法性。
S304、客户端设备根据所述token字段、直播间的房间号、弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
具体的,可以通过以下公式计算k字段:
k=md5.create(token+roomid+ts+no+content);
其中,md5.create是hash算法md5的计算接口,本实施例中采用MD5计算k字段,最终得到一个固定长度的32位的验证字段,可以理解的是,在一些可能的实现方式中,也可以选用其他的算法,此处不做太多限定;
token是所述token字段,其中,加入token可以实现不同的用户,最终计算的验证字段是不一样的;
roomid是所述直播间的房间号,其中,加入直播间的房间号,可以实现同一个用户、同一个弹幕内容、同一时刻在不同的直播间最终的验证字段是不一样的,具体的,所述直播间的房间号通过向所述弹幕服务器发送获取房间信息的协议来获取;
ts是所述弹幕协议的时间戳,可以从弹幕协议中获取,其中,对于同一个弹幕内容,同一个用户,同一个直播房间,将弹幕协议的时间加入到验证字段中,可以保障不同时刻的最终的验证字段是不一样的;
no是所述弹幕的发送次数,可以理解的是,弹幕的发送次数,是指成功发送弹幕的次数,每成功发送一个弹幕,no加1。具体的,当弹幕发送成功后,弹幕的发送次数可以根据弹幕服务器返回的弹幕发送成功消息计算得到,初始值为0,每接收到一个弹幕服务器返回的弹幕发送成功消息,客户端设备的弹幕计算值no则会加1,相应的,弹幕服务器也有记录弹幕的发送次数,当弹幕发送成功后,弹幕服务器的弹幕计算值no也会加1。
另外,由于客户端设备和弹幕服务器的时间没办法完全保障一致,因此通常的做法则是对客户端设备上报的发送弹幕的时间戳进行一定范围的兼容处理,只要弹幕协议的时间戳与弹幕服务器的时间戳的差值在预置范围内,都认为是合法的,因此,对于非法刷弹幕来说,可以利用这一点,在一段时间内,使用同样的弹幕协议的时间戳,来绕过不同时刻的校验,加入弹幕的发送次数,可以避免使用同样的弹幕协议的时间戳,从而绕过了不同时刻的校验的情况;
content是所述弹幕内容,即所述弹幕协议准备发送的弹幕内容,可以从弹幕协议中获取。
S305、客户端设备对所述k字段进行加密;
为了进一步的对k字段进行保护,本实施例采取对k字段再进行一次加密,从而进一步的提高数据传输的安全性,和被破解的门槛。对于直播平台来说,总的弹幕量是巨大的,而同一时刻弹幕服务器接收到的弹幕量也是巨大的,如果采用复杂的加密验证算法,最终会导致弹幕服务器的性能瓶颈,从而给弹幕服务器造成比较大的计算压力。因此,可以采用轻量级的加密算法来对数据进行加密解密计算。本实施例中,采用TEA加密算法来对最终的k字段进行进一步的加密,并不用于限定本申请,在一些可能的实现方式中,也可以选用其他的加密方式。另外,为了保障加密的结果每次发生变化,本实施例采用ts,即弹幕协议的时间戳,作为加密算法TEA的key值。
具体的,encryptk=TEA.encrypt(k,ts);
其中TEA.encrypt是加密算法tea的加密接口;
k是所述k字段;
ts是所述弹幕协议的时间戳;
encryptk是所述k字段的加密结果。
S306、客户端设备在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议;
具体的,步骤S306可以分为S306a与S306b:
S306a、客户端设备在所述弹幕协议中加入加密后的k字段;
考虑到对现有弹幕协议及客户端不同版本的兼容的功能,本实施例不需要修改现有的弹幕协议,而是将k字段通过增加一个字段的方式加入到现有的弹幕协议中。
S306b、客户端设备向所述弹幕服务器发送加入加密后的k字段的弹幕协议;
相应的,弹幕服务器接收客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;S307、弹幕服务器判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
为了防止刷弹幕的非法份子绕过检查策略,而使用固定的弹幕协议时间戳,本实施例会对当前弹幕协议中的时间戳进行校验,弹幕服务器会获取弹幕服务器的时间戳,判断该弹幕服务器的时间戳与客户端设备的弹幕协议的时间戳的差值是否在预置范围内,如果是,则说明客户端设备的时间戳信息合法,否则不合法。优选的,预置范围可以是5分钟。若差值在预置范围内,对所述加密后的k字段进行解密,从而得到原始的k字段。
具体的,可以通过以下公式对所述加密后的k字段进行解密:
k=TEA.decrypt(ts,encryptk);
其中,TEA.decrypt是TEA的加密算法的解密接口;
ts是所述弹幕协议的时间戳;
encryptk是所述加密后的k字段。
可以理解的是,弹幕服务器的解密算法与客户端的加密算法是相对应的。
S308、弹幕服务器根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
弹幕服务器会使用与客户端一样的方法来计算原始的k字段信息。客户端设备计算k字段是使用了token+roomid+ts+no+content一起计算其MD5结果,而弹幕服务器也采用同样的方法进行计算k字段。其中,token是由弹幕服务器下发给客户端的,所以弹幕服务器存储着客户端设备的token值。弹幕服务器在客户端设备登录时记录了客户端设备的直播间的房间号,所以弹幕服务器存有客户端设备的直播间的房间号roomid。弹幕服务器也会记录客户端设备发送的弹幕次数,从而弹幕服务器也具有和客户端同样的发送弹幕的次数no。content是客户端发送的弹幕内容,弹幕服务器可以从客户端发送的弹幕协议中获取到。同样的,弹幕协议的时间戳ts也可以从弹幕协议中获取。从而计算k字段的所有字段弹幕服务器都具备,则可以使用同样的md5算法来计算原始的k字段。
k=md5.create(token+roomid+ts+no+content);
其中,md5.create是hash算法md5的计算接口;
token是所述token字段;
roomid是所述直播间的房间号;
ts是所述弹幕协议的时间戳;
no是所述弹幕的发送次数;
content是所述弹幕内容。
S309、判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
计算完k字段后,弹幕服务器会对比弹幕服务器计算的k字段和从客户端上报的k字段是否一致,即解密得到的k字段与计算得到的k字段是否一致,如果不一致则说明该弹幕协议是非法的,否则认为该弹幕协议是合法的,验证通过。
通过同样的md5计算,从而间接的对客户端的token,房间号,时间戳,弹幕发送次数以及弹幕内容进行校验,只有客户端和弹幕服务器都一致才会最终得到同样的k字段。
可以理解的是,下一个弹幕协议中的k字段的生成和验证过程与上述过程类似,从而往复循环,不再赘述。
还需要说明的是,当直播平台进行一些大事赛事活动时,其弹幕量会是平时弹幕量的多倍,考虑到弹幕服务器的性能压力,可以依据实际情况灵活地选择是否进行验证,或者采用抽检的方式进行验证,由于本实施例不改动现有弹幕协议,而是增加一个验证字段,那么弹幕服务器不对验证字段进行验证则不会增加任何计算量。从而弹幕服务器可以轻松的兼容原始的弹幕协议及增加验证的弹幕协议。
本实施例中,客户端设备发送登录协议到直播平台的弹幕服务器;弹幕服务器对登录协议进行验证,验证通过,则登录成功,所述弹幕服务器向客户端返回token字段;客户端设备生成弹幕协议;客户端设备根据所述token字段、直播间的房间号、弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段,并对所述k字段进行加密;在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议;弹幕服务器接收到弹幕协议后,先判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;根据token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;判断解密得到的k字段与弹幕服务器自行计算得到的k字段是否一致,若是,则验证通过,可以在直播间播放该弹幕内容。可见,本申请实施例可以通过登录协议的验证来及时发现非法用户,以及通过验证k字段来识别非法弹幕协议,丰富了处理刷弹幕的方式。
基于同一发明构思,本申请提供了一种计算机可读存储介质,详见图4,下面将结合图4对实施例四进行介绍。
实施例四:
本实施例提供了一种计算机可读存储介质400,所述计算机可读存储介质400存储有计算机程序411,所述计算机程序411被处理器执行时实现以下步骤:
发送登录协议到直播平台的弹幕服务器;
若登录成功,接收所述弹幕服务器返回的token字段;
生成弹幕协议,所述弹幕协议包括弹幕内容和弹幕协议的时间戳;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及所述弹幕内容计算k字段,其中,所述直播间的房间号通过向所述弹幕服务器发送获取房间信息的协议来获取,所述弹幕的发送次数为弹幕发送成功的次数,根据所述弹幕服务器返回的弹幕发送成功消息计算得到,初始值为0;
对所述k字段进行加密;
在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议。
在具体实施过程中,该计算机程序411被处理器执行时,可以实现上述实施例中由客户端设备执行的所有步骤,此处不再赘述。
基于同一发明构思,本申请还提供了一种计算机设备,详见图5,下面将结合图5对实施例五进行介绍。
实施例五:
本申请提供了一种计算机设备500,包括处理器520、存储器510以及存储在存储器510上并可在处理器520上运行的计算机程序511,所述处理器520执行所述计算机程序511时实现以下步骤:
发送登录协议到直播平台的弹幕服务器;
若登录成功,接收所述弹幕服务器返回的token字段;
生成弹幕协议,所述弹幕协议包括弹幕内容和弹幕协议的时间戳;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及所述弹幕内容计算k字段,其中,所述直播间的房间号通过向所述弹幕服务器发送获取房间信息的协议来获取,所述弹幕的发送次数为弹幕发送成功的次数,根据所述弹幕服务器返回的弹幕发送成功消息计算得到,初始值为0;
对所述k字段进行加密;
在所述弹幕协议中加入加密后的k字段,并向所述弹幕服务器发送加入加密后的k字段的弹幕协议。
在具体实施过程中,计算机设备500包括但不限于客户端设备,该计算机设备500可以实现上述实施例中由客户端设备执行的所有步骤,此处不再赘述。
基于同一发明构思,本申请提供了一种计算机可读存储介质,详见图6,下面将结合图6对实施例六进行介绍。
实施例六:
本实施例提供了一种计算机可读存储介质600,所述计算机可读存储介质600存储有计算机程序611,所述计算机程序611被处理器执行时实现以下步骤:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
在具体实施过程中,该计算机程序611被处理器执行时,可以实现上述实施例中由弹幕服务器执行的所有步骤,此处不再赘述。
基于同一发明构思,本申请还提供了一种计算机设备,详见图7,下面将结合图7对实施例七进行介绍。
实施例七:
本申请提供了一种计算机设备700,包括处理器720、存储器710以及存储在存储器710上并可在处理器720上运行的计算机程序711,所述处理器720执行所述计算机程序711时实现以下步骤:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
在具体实施过程中,计算机设备700包括但不限于弹幕服务器,该计算机设备700可以实现上述实施例中由弹幕服务器执行的所有步骤,此处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (5)
1.一种弹幕验证方法,其特征在于,所述方法应用于直播平台的弹幕服务器,所述方法包括:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
2.根据权利要求1所述的方法,其特征在于,所述根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段包括根据以下公式计算k字段:
k=md5.create(token+roomid+ts+no+content);
其中,md5.create是hash算法md5的计算接口;
token是所述token字段;
roomid是所述直播间的房间号;
ts是所述弹幕协议的时间戳;
no是所述弹幕的发送次数;
content是所述弹幕内容。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述加密后的k字段进行解密,从而得到k字段包括根据以下公式对所述加密后的k字段进行解密,从而得到k字段:
k=TEA.decrypt(ts,encryptk);
其中,TEA.decrypt是TEA的加密算法的解密接口;
ts是所述弹幕协议的时间戳;
encryptk是所述加密后的k字段。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
5.一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
接收客户端设备发送的登录协议;
若登录成功,向所述客户端设备返回token字段;
接收所述客户端设备发送的弹幕协议,所述弹幕协议包含加密后的k字段;
判断所述弹幕协议的时间戳与所述弹幕服务器的时间戳的差值是否在预置范围内,若是,对所述加密后的k字段进行解密,从而得到k字段;
根据所述token字段、直播间的房间号、所述弹幕协议的时间戳、弹幕的发送次数以及弹幕内容计算k字段;
判断解密得到的k字段与计算得到的k字段是否一致,若是,则验证通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810317893.0A CN108881934B (zh) | 2018-04-10 | 2018-04-10 | 一种弹幕验证方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810317893.0A CN108881934B (zh) | 2018-04-10 | 2018-04-10 | 一种弹幕验证方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108881934A CN108881934A (zh) | 2018-11-23 |
CN108881934B true CN108881934B (zh) | 2020-09-08 |
Family
ID=64326253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810317893.0A Active CN108881934B (zh) | 2018-04-10 | 2018-04-10 | 一种弹幕验证方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108881934B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107484032A (zh) * | 2017-09-08 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 防止被刷的验证方法及装置 |
CN107493283A (zh) * | 2017-08-18 | 2017-12-19 | 广州久邦世纪科技有限公司 | 一种基于直播平台的消息安全加密的实现方法及其系统 |
CN107529078A (zh) * | 2017-09-08 | 2017-12-29 | 武汉斗鱼网络科技有限公司 | 防止被刷的验证方法及装置 |
CN107579968A (zh) * | 2017-08-30 | 2018-01-12 | 武汉斗鱼网络科技有限公司 | 视频流地址检测方法、装置及服务器 |
CN107770161A (zh) * | 2017-10-09 | 2018-03-06 | 武汉斗鱼网络科技有限公司 | 一种直播平台中防止刷礼物的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8775792B2 (en) * | 2005-06-10 | 2014-07-08 | Strue, Inc. | Method of and system for encryption and authentication |
US9094721B2 (en) * | 2008-10-22 | 2015-07-28 | Rakuten, Inc. | Systems and methods for providing a network link between broadcast content and content located on a computer network |
-
2018
- 2018-04-10 CN CN201810317893.0A patent/CN108881934B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107493283A (zh) * | 2017-08-18 | 2017-12-19 | 广州久邦世纪科技有限公司 | 一种基于直播平台的消息安全加密的实现方法及其系统 |
CN107579968A (zh) * | 2017-08-30 | 2018-01-12 | 武汉斗鱼网络科技有限公司 | 视频流地址检测方法、装置及服务器 |
CN107484032A (zh) * | 2017-09-08 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 防止被刷的验证方法及装置 |
CN107529078A (zh) * | 2017-09-08 | 2017-12-29 | 武汉斗鱼网络科技有限公司 | 防止被刷的验证方法及装置 |
CN107770161A (zh) * | 2017-10-09 | 2018-03-06 | 武汉斗鱼网络科技有限公司 | 一种直播平台中防止刷礼物的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108881934A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8925109B2 (en) | Client-side player file and content license verification | |
CN111327620B (zh) | 云雾计算框架下的数据安全溯源及访问控制系统 | |
CN102484638B (zh) | 经由多个中间客户端在线递送的身份数据的分层保护和验证 | |
WO2018145127A1 (en) | Electronic identification verification methods and systems with storage of certification records to a side chain | |
CN106713336B (zh) | 基于双重非对称加密技术的电子数据保管系统及方法 | |
CN109767218B (zh) | 区块链证书处理方法及系统 | |
CN108881966B (zh) | 一种信息处理方法以及相关设备 | |
CN111339040B (zh) | 一种数据文件的云存储方法、装置、设备及存储介质 | |
CN106470103B (zh) | 一种客户端发送加密url请求的方法和系统 | |
US9075798B2 (en) | Verifying authenticity of input using a hashing algorithm | |
CN113395406A (zh) | 一种基于电力设备指纹的加密认证方法及系统 | |
CN114553441B (zh) | 一种电子合同签署方法及系统 | |
Shin et al. | A Survey of Public Provable Data Possession Schemes with Batch Verification in Cloud Storage. | |
CN111131127B (zh) | 一种基于直播平台的通信方法及相关装置 | |
CN108933766B (zh) | 一种提高设备id安全性的方法和客户端 | |
CN106713256A (zh) | 一种税控专用计算机软硬件绑定的认证方法 | |
CN110139163B (zh) | 一种获取弹幕的方法和相关装置 | |
CN110380843B (zh) | 一种信息处理方法及相关设备 | |
CN108712657B (zh) | 一种弹幕验证方法、计算机设备和存储介质 | |
CN108881934B (zh) | 一种弹幕验证方法、计算机设备和存储介质 | |
CN108769719B (zh) | 一种弹幕验证方法、计算机设备和存储介质 | |
CN108769720B (zh) | 一种弹幕验证方法、计算机设备和存储介质 | |
CN108769718B (zh) | 一种弹幕验证方法、计算机设备和存储介质 | |
CN108769748B (zh) | 一种信息处理方法及相关设备 | |
CN110381342B (zh) | 一种信息处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |