我正在尝试根据https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html中STS
GetCallerIdentity
的文档构建一个 AWS Signature v4 Auth 标头来调用 API重击。
现在,我在 Python 中使用了相同的过程,在仔细研究了我在 Python 和 Bash 中的脚本和输出之后,我发现在 Bash 中为字符串计算的 SHA256 与在 Python 中计算的不同。
字符串在我的文本编辑器中看起来是一样的——一个字符一个字符。
但由于 SHA256 不同,我假设这很大程度上是字符串编码的问题。
Python 脚本使用 UTF8,即使我尝试printf "%s" "${string}" | iconv -t utf-8 | openssl dgst -sha256
在 Bash 脚本中执行,哈希值仍然不同。
如何在计算 SHA256 总和之前将 bash 字符串/变量转换为 UTF8。