我正在编写一个脚本来与 twitter 交谈——除了生成正确的签名之外,一切似乎都很好,我得到了一个访问错误。但是,更改我的变量以匹配 twitter 文档中的变量会产生不同的结果。在https://dev.twitter.com/docs/auth/creating-signature的底部,它说:
For example, the output given the base string and signing key
given on this page is
B6 79 C0 AF 18 F4 E9 C5 87 AB 8E 20 0A CD 4E 48 A9 3F 8C B6
我的代码产生几乎相同的东西——只是没有空格和小写。但是,当我使用 base64_encode() 时,我得到的值与文档 ( tnnArxj06cWHq44gCs1OSKk/jLY=
) 中的值不同,即使尝试使用不同的大小写/间距/等:
echo base64_encode('B679C0AF18F4E9C587AB8E200ACD4E48A93F8CB6');
echo strtolower(base64_encode('B679C0AF18F4E9C587AB8E200ACD4E48A93F8CB6'));
echo base64_encode('B6 79 C0 AF 18 F4 E9 C5 87 AB 8E 20 0A CD 4E 48 A9 3F 8C B6');
echo base64_encode(strtolower('B6 79 C0 AF 18 F4 E9 C5 87 AB 8E 20 0A CD 4E 48 A9 3F 8C B6'));
结果:
QjY3OUMwQUYxOEY0RTlDNTg3QUI4RTIwMEFDRDRFNDhBOTNGOENCNg==
qjy3oumwquyxoey0rtldntg3qui4rtiwmefdrdrfndhbotngoencng==
QjYgNzkgQzAgQUYgMTggRjQgRTkgQzUgODcgQUIgOEUgMjAgMEEgQ0QgNEUgNDggQTkgM0YgOEMgQjY=
YjYgNzkgYzAgYWYgMTggZjQgZTkgYzUgODcgYWIgOGUgMjAgMGEgY2QgNGUgNDggYTkgM2YgOGMgYjY=
我在这里遗漏了一些明显的东西吗?