aus "Sec-WebSocket-Key" "Sec-WebSocket-Accept" generieren
Ich folge rfc6455:
Konkret, wenn wie im obigen Beispiel der | Sec-WebSocket-Key |
as Feld @header hatte den Wert "dGhlIHNhbXBsZSBub25jZQ ==", der Server
would verketten die Zeichenfolge "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
zum Bilden der Zeichenfolge "dGhlIHNhbXBsZSBub25jZQ == 258EAFA5-E914-47DA-95CA-
C5AB0DC85B11 ". Der Server würde dann den SHA-1-Hash davon nehmen,
den Wert 0xb3 0x7a 0x4f 0x2c 0xc0 0x62 0x4f 0x16 0x90 0xf6
0x46 0x06 0xcf 0x38 0x59 0x45 0xb2 0xbe 0xc4 0xea. Dieser Wert ist
then base64-codiert (siehe Abschnitt 4 von [RFC4648]), um den Wert @ anzugeb
"s3pPLMBiTxaQ9kYGzzhZRbK + xOo =". Dieser Wert würde dann in @ wiedergegebe
die | Sec-WebSocket-Accept | Header-Feld.
und kann nicht das richtige "Sec-WebSocket-Accept" generieren.
Um den Prozess zu verstehen, den ich online benutze SHA1 hash und Base64 Encode.
Dasonline SHA1 hash Geben Sie für "dGhlIHNhbXBsZSBub25jZQ == 258EAFA5-E914-47DA-95CA-C5AB0DC85B11" das korrekte Ergebnis ein: "b37a4f2cc0624f1690f64606cf385945b2bec4ea" wie in rfc6455 beschrieben.
Aber dieonline Base64 Encode gib mir die falschen Ergebnisse "YjM3YTRmMmNjMDYyNGYxNjkwZjY0NjA2Y2YzODU5NDViMmJlYzRlYQ ==" für die Eingabe "b37a4f2cc0624f1690f64606cf385945b2bec4ea". Das Ergebnis sollte "s3pPLMBiTxaQ9kYGzzhZRbK + xOo =" sein
Was mache ich falsch