我试图了解 AWS 签名 4 的工作原理。我阅读了文档,发现了一个计算签名的Python 示例。我也遇到了这个答案,它稍微解释了 HMAC。
我很想知道 AWS 在服务器端做了什么来“相信”请求。
他们是否运行与示例相同的代码,但使用请求传递的参数设置日期,然后匹配两个哈希(HMAC 似乎以这种方式工作)?如果是这样,为什么请求中有这么多值和两步散列(我猜这与散列冲突有关)?
PS:由于该方法(HMAC)使用 ACCESS 和 SECRET 密钥作为密钥(它是对称密钥),因此只能在服务器端实现。由于可以轻松访问密钥,因此无法在移动应用程序中安全地完成此操作。有没有办法在“不太封闭”(与服务器相比)环境中这样做,例如客户端应用程序/移动/等。应用程序?