10

現在、Web API を設計しており、承認を実装中です。私たちは (ほとんど) Amazon の実装に従いましたが、完全には理解できない部分が 1 つあります。

つまり、結果の hmac を base64 でエンコードするポイントは何ですか? 少なくともほとんどのサイトでは、長さの違いはごくわずかです。ただし、Amazonはおそらく違いに気付くでしょう。それが唯一の理由ですか?ascii/unicodeと何か関係があるのでしょうか?

4

1 に答える 1

18

ハッシュ アルゴリズムと HMAC は、多くの人が信じがちな 16 進数の文字列出力を提供しません。どちらもバイナリデータを出力します。Base64 は、バイナリ データを文字列として簡単かつ移植可能に表現する方法を提供します。

理由としては、便宜上、ソフトウェアの多くの異なる部分間で標準のエンコーディングを使用している可能性があります。広く使用されているエンコーディングであることを除けば、特別なことは何もありません。

于 2012-04-20T11:47:34.927 に答える