gpt4 book ai didi

node.js - S3 随机给我 "BadDigest"错误

转载 作者:搜寻专家 更新时间:2023-10-31 23:49:40 25 4
gpt4 key购买 nike

我有一个 node.js 应用程序,它会定期将一些数据推送到 Amazon S3。我正在使用 Put 请求将缓冲区推送到 S3。

我知道 S3 请求的“content-md5”参数需要是我推送的内容的 base64 编码 Md5 哈希。 让我感到困惑的是,在 90% 的时间里,我的请求都会成功。另外 10% 的时间,我的哈希方法根本没有改变,亚马逊给我返回“badDigest”错误: p>

{ [Error: API error with HTTP Code: 400]
headers:
{
'content-type': 'application/xml',
'transfer-encoding': 'chunked',
date: 'Fri, 06 Apr 2012 02:20:14 GMT',
connection: 'close',
server: 'AmazonS3' },
code: 400,
document:
{ Code: 'BadDigest',
Message: 'The Content-MD5 you specified did not match what we received.',
ExpectedDigest: 'fPRrmxapcSHmI2gljme1Fg==',
CalculatedDigest: 'w6PoDxh2ty478+Mw2UwTrA==',
RequestId: '1018E7A80A8B0B00',
HostId: 'W/SK/OovQHlsi593DJ154pkHdOrUk3oMWmIGNdOKj3WaHa8cBknhB+7H5IdZLUjt' } }

有没有其他人在 S3 之前经历过这种随机性?我错过了一些明显的东西吗?

谢谢!

最佳答案

您可能忘记指定 'utf8' 作为 update 的参数。

var status = 'काक्नोम्यत्क्नोम्यत्चं शक्नोम्यत्तुमतुम् ।तुम् ।् । नोपहिनस्ति माम् ॥';
var contentMd5 = crypto
.createHash('md5')
.update(status, 'utf8')
.digest('base64');

没有它在大多数情况下都有效,但当您的字符串包含多字节字符时则无效。

关于node.js - S3 随机给我 "BadDigest"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com