Trong WebSocket handshake, máy chủ tính header Sec-WebSocket-Accept từ Sec-WebSocket-Key do client gửi:
accept = base64( SHA1( key + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" ) )
Chuỗi GUID 258EAFA5-E914-47DA-95CA-C5AB0DC85B11 là hằng số chuẩn (RFC 6455). Cho Sec-WebSocket-Key, hãy in Sec-WebSocket-Accept.
Gợi ý: dùng require('crypto') -> createHash('sha1').update(...).digest('base64').
Input:
dGhlIHNhbXBsZSBub25jZQ==
Output:
s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Một dòng: chuỗi Sec-WebSocket-Key.
Key là chuỗi base64 hợp lệ theo chuẩn.
Một dòng: giá trị Sec-WebSocket-Accept (base64).
Ví dụ:
Đầu vào:
dGhlIHNhbXBsZSBub25jZQ==
Đầu ra:
s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Giải thích:
Đang tải editor...