【问题标题】:base64 encoding issuebase64编码问题
【发布时间】:2012-08-02 02:58:13
【问题描述】:

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

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

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

【问题讨论】:

  • 不同的编码? What is your output?
  • 我的编码输出1d29ab734b0c9585240069a6e4e3e91b61da1969MWQyOWFiNzM0YjBjOTU4NTI0MDA2OWE2ZTRlM2U5MWI2MWRhMTk2OQ==

标签: php websocket base64


【解决方案1】:

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

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

http://ideone.com/K0d6y

【讨论】:

    【解决方案2】:

    或者你可以简单地;

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-13
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多