2012-08-02 110 views
1

這可能是一個明顯的答案,但我不出來...Base64編碼問題

我讀這個Wikipedia條目,http://en.wikipedia.org/wiki/WebSocket#WebSocket_protocol_handshake並在本例中,它說的1d29ab734b0c9585240069a6e4e3e91b61da1969 Base64編碼字符串HSmrc0sMlYUkAGmm5OPpG2HaGWk=

現在使用PHP函數base64_encode我得到了不同的輸出。我在一些在線base64編碼器上也得到了不同的結果!地獄是從維基百科獲得這個base64價值?

+0

不同的編碼? [你的輸出是什麼?](http://codepad.org/5UsSuqPq) – 2012-08-02 03:02:11

+0

我的編碼爲'1d29ab734b0c9585240069a6e4e3e91b61da1969'的輸出是'MWQyOWFiNzM0YjBjOTU4NTI0MDA2OWE2ZTRlM2U5MWI2MWRhMTk2OQ ==' – 2012-08-02 03:03:12

回答

3

1d29ab734b0c9585240069a6e4e3e91b61da1969是您需要base64編碼sha1二進制值的十六進制字符串。

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

http://ideone.com/K0d6y

0

,或者你可以簡單地;

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