私はhtml5ウェブソケットでハンドシェイクできるAS3ソケットサーバーを構築しようとしています。私は、これは私がリンクの例と同じ値を使用して持っているものであるhttp://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-17AS3 Websocketハンドシェイク
このリンクを私のコードをベースにしました:
はimport com.dynamicflash.util.Base64;
import com.adobe.crypto.SHA1;
function getKey():void{
var key:String = "dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
key = SHA1.hash(key);
key = Base64.encode(key);
trace(key);
//traces YjM3YTRmMmNjMDYyNGYxNjkwZjY0NjA2Y2YzODU5NDViMmJlYzRlYQ== instead of s3pPLMBiTxaQ9kYGzzhZRbK+xOo="
}
今の例では、述べ出力があるべきこと:
具体的には、上記の例のように、| Sec-WebSocket-Key |ヘッダーフィールドの値が "dGhlIHNhbXBsZSBub25jZQ =="だった場合、サーバーは文字列 "dGhlIHNhbXBsZSBub25jZQ == 258EAFA5-E914-47DA-95CA-C5AB0DC85B11"を形成するために文字列 "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"を連結します。サーバは、この値のSHA-1ハッシュをとり、0xb3 0x7a 0x4f 0x2c 0xc0 0x62 0x4f 0x16 0x90 0xf6 0x46 0x06 0xcf 0x38 0x59 0x45 0xb2 0xbe 0xc4 0xeaを与える。この値はbase64でエンコードされ([RFC4648]のセクション4を参照)、値は "s3pPLMBiTxaQ9kYGzzhZRbK + xOo ="
になりますか?