Websocket服务器握手响应

时间:2018-02-25 03:40:24

标签: c++ encryption websocket

我正在尝试设置websocket通信。我可以打开websocket,但我无法弄清楚如何使握手响应正确。根据几个网站:

  

“此外,服务器可以在此处决定扩展/子协议请求;有关详细信息,请参阅其他。Sec-WebSocket-Accept部分很有趣。服务器必须从客户端发送的Sec-WebSocket-Key派生它。得到它,连接客户端的Sec-WebSocket-Key和“258EAFA5-E914-47DA-95CA-C5AB0DC85B11”(它是一个“魔术字符串”),取结果的SHA-1哈希值,并返回hash ...所以如果Key是“dGhlIHNhbXBsZSBub25jZQ ==”,那么Accept将是“s3pPLMBiTxaQ9kYGzzhZRbK + xOo =”。

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers

但我似乎无法重现这些结果。我尝试了很多编码器/解码器,并试图找到上述说明的替代解释,但它们都不起作用。我也没有找到任何代码的例子。

输入:dGhlIHNhbXBsZSBub25jZQ ==

魔术字符串(永不改变):258EAFA5-E914-47DA-95CA-C5AB0DC85B11

输出:s3pPLMBiTxaQ9kYGzzhZRbK + xOo =

我得到正确答案的唯一方法是通过this site。它似乎得到SHA1编码错误但总体64位答案是正确的?无论如何,帮助将不胜感激。

0 个答案:

没有答案