base64编码问题


base64 encoding issue

这可能是一个显而易见的答案,但我无法理解。。。

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

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

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

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

http://ideone.com/K0d6y

或者您可以简单地;

base64_encode(sha1(<shavalue>,true));