gpt4 book ai didi

c# - 在 C# 中签署 POST 表单以上传到 Amazon S3

转载 作者:太空狗 更新时间:2023-10-30 00:27:19 24 4
gpt4 key购买 nike

我在为 Amazon S3 签署保单文件时遇到问题。

有关于如何在 Ruby、Java 和 Python 中执行此操作的示例,但是当我尝试在 C# 中执行此操作时,它并没有成功。我一直收到无效签名,而且我不确定哪里出错了。 http://aws.amazon.com/articles/1434

除了 C# 之外,任何人都可以提供与文章中类似的示例吗?

谢谢。

最佳答案

为遇到同样问题的其他人解决了它。

class Program
{
static string secretKey = "Removed";

static void Main(string[] args)
{
string policyStr = @"{""expiration"": ""2012-01-01T12:00:00.000Z"",""conditions"": [{""bucket"": ""<bucket>"" },{""acl"": ""public-read"" },[""eq"", ""$key"", ""<filename>""],[""starts-with"", ""$Content-Type"", ""image/""],]}";

GetSig(policyStr);
}

static void GetSig(string policyStr)
{
string b64Policy = Convert.ToBase64String(Encoding.ASCII.GetBytes(policyStr));

byte[] b64Key = Encoding.ASCII.GetBytes(secretKey);
HMACSHA1 hmacSha1 = new HMACSHA1(b64Key);
Console.WriteLine(policyStr);
Console.WriteLine(b64Policy);
Console.WriteLine();
Console.WriteLine(
Convert.ToBase64String(hmacSha1.ComputeHash(Encoding.ASCII.GetBytes(b64Policy))));

Console.ReadKey();
}
}

关于c# - 在 C# 中签署 POST 表单以上传到 Amazon S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999648/

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