通过sdk上传太麻烦了,我只是想要个简单的上传功能,
于是准备用curl模拟表单上传,
可是一直提示token bad,
因为我是php,跟deno不太一样,
我又照着demo的数据测试了一下,
前面的几步都正常,
可是最后一步,对sign进行base64的时候,我算的结果跟demo不一致,
不知道是算法问题还是其他原因,
我用php算出的sign跟demo一样,都是c10e287f2b1e7f547b20a9ebce2aada26ab20ef2
但是对这个sign进行base64的时候,就不一致了,
demo说是wQ4ofysef1R7IKnrziqtomqyDvI=
可我算出来的是YzEwZTI4N2YyYjFlN2Y1NDdiMjBhOWViY2UyYWFkYTI2YWIyMGVmMg==
找到问题了,
php的hash_hmac默认生成的是16进制的文件,最后有个
true
参数,可以生成二进制,$sign = hash_hmac("sha1",$encodedPutPolicy, "<SecretKey>",TRUE);