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