从node.js中的JSON将s3桶策略转换为base64
我正在尝试在node.js中的base64中对Amazon s3存储桶策略进行编码(更具体地说是StringToSign),但似乎无法获得正确的代码。
我使用由amazon提供的默认策略进行testing,因为它们提供了正确的base64编码。 ( 亚马逊给出的例子 )
他们的输出是eyAiZXhwaXJhdGlvbiI6ICIyMDE1........
(保持它很短,因为它很长)
我不断收到eyJleHBpcmF0aW9uIjoiMjAxNS0xMi0zMFQx.....
我的代码来生成这个是:
var policyString = JSON.stringify(policy) var policyBytes = utf8.encode(policyString) var stringToSign = base64.encode(policyBytes)
其中policy
是以JSON格式保存亚马逊策略的variables,而utf8
和base64
是节点模块。
这可能听起来像一个新手的问题,但我一直盯着它一段时间,任何hlep将不胜感激!
我解码了您提供的当前部分值
eyAiZXhwaXJhdGlvbiI6ICIyMDE1 eyJleHBpcmF0aW9uIjoiMjAxNS0xMi0zMFQx
各自的产出是:
{ "expiration": "2015 {"expiration":"2015-12-30T1
正如你所看到的,在你的policyString
你已经删除了一些空格。 这是你得到不同的输出的原因