1

这可能是一个明显的答案,但我无法弄清楚......

我正在阅读这个维基百科条目,http ://en.wikipedia.org/wiki/WebSocket#WebSocket_protocol_handshake ,在示例中它说 Base64 编码的字符串1d29ab734b0c9585240069a6e4e3e91b61da1969HSmrc0sMlYUkAGmm5OPpG2HaGWk=

现在使用 PHP 函数base64_encode,我得到了不同的输出。我在一些在线 base64 编码器上也得到了不同的结果!维基百科到底是从哪里得到这个 base64 值的?

4

2 回答 2

3

1d29ab734b0c9585240069a6e4e3e91b61da1969是您需要对 sha1 二进制值进行 base64 编码的十六进制字符串。

<?= base64_encode(pack('H*','1d29ab734b0c9585240069a6e4e3e91b61da1969'))?>

http://ideone.com/K0d6y

于 2012-08-02T03:07:38.263 回答
0

或者你可以简单地;

base64_encode(sha1(<shavalue>,true));
于 2012-08-04T13:59:11.417 回答