1 回答
TA贡献1836条经验 获得超4个赞
仅仅是因为产生这些 base64 字符串的 2 个 JSON 源文本具有不同的缩进和不同的内容,如下所示(它们不等于逐个字符)。
解码这两个 base64 字符串,您将看到差异。你可以用一个程序(不一定是 Go)来做到这一点,或者简单地使用像这样的在线服务。
您不应该担心缩进,这在 JSON 中无关紧要。但是,当您使用 Base64 对文本进行编码时,会对源的所有字符进行编码,包括用于缩进的空格和制表符,因此不同的缩进将导致不同的 Base64 编码形式。
但是对比2个解码的JSON,还有其他的不同:
第一:
"expiration": "2013-08-06T12:00:00.000Z"
"success_action_redirect": "http://acl6.s3.amazonaws.com/successful_upload.html"
第二个:
"expiration": "2013-08-07T12:00:00.000Z"
"success_action_redirect": "http://examplebucket.s3.amazonaws.com/successful_upload.html"
完整解码的 JSON 文本:
第一个:
{
"expiration": "2013-08-06T12:00:00.000Z",
"conditions": [
{"bucket": "examplebucket"},
["starts-with", "$key", "user/user1/"],
{"acl": "public-read"},
{"success_action_redirect": "http://acl6.s3.amazonaws.com/successful_upload.html"},
["starts-with", "$Content-Type", "image/"],
{"x-amz-meta-uuid": "14365123651274"},
["starts-with", "$x-amz-meta-tag", ""],
{"x-amz-credential":"AKIAIOSFODNN7EXAMPLE/20130806/us-east-1/s3/aws4_request"},
{"x-amz-algorithm": "AWS4-HMAC-SHA256"},
{"x-amz-date": "20130806T000000Z" }
]
}
第二个:
{ "expiration": "2013-08-07T12:00:00.000Z",
"conditions": [
{"bucket": "examplebucket"},
["starts-with", "$key", "user/user1/"],
{"acl": "public-read"},
{"success_action_redirect": "http://examplebucket.s3.amazonaws.com/successful_upload.html"},
["starts-with", "$Content-Type", "image/"],
{"x-amz-meta-uuid": "14365123651274"},
["starts-with", "$x-amz-meta-tag", ""],
{"x-amz-credential": "AKIAIOSFODNN7EXAMPLE/20130806/us-east-1/s3/aws4_request"},
{"x-amz-algorithm": "AWS4-HMAC-SHA256"},
{"x-amz-date": "20130806T000000Z" }
]
}
- 1 回答
- 0 关注
- 193 浏览
添加回答
举报