2017-09-20 16 views
2

Content-MD5 HTTPヘッダーが一貫して実装されていないため、削除されました。しかしThe HTTP/1.1 specを見て、私はこの好奇心の詳細を見ました:Content-MD5ヘッダーがbase64エンコードされたのはなぜですか?

Content-MD5 = "Content-MD5" ":" md5-digest 
md5-digest = <base64 of 128 bit MD5 digest as per RFC 1864> 

送信前にbase64でエンコードMD5ハッシュを使用することは何ですか?なぜでしょうか:

Content-MD5: MTViMjlmZmRjZTY2ZTEwNTI3YTY1YmM2ZDcxYWQ5NGQ= 

このよりも優れていますか?

Content-MD5: 15b29ffdce66e10527a65bc6d71ad94d 
+4

これは、バイナリハッシュ値の16進数エンコーディング***とは対照的に、ベース64エンコーディング***と仮定します。バイナリ→16進→ベース64ではなくバイナリ→ベース64;それは明確なサイズの利点を有する。 – deceze

+1

詳細/相違点について[これは便利なページです](http://cloudway.io/post/base64-encoded-128-bit/) - AWSで使用されているようです。 –

+0

@decezeああ、もちろん! 16バイトのビット列を符号化することは、32バイトの16進文字列を符号化するよりも短くなります。 –

答えて

1

decezeコメントで言ったように、あなたはむしろ、MD5ハッシュの16進表現よりも、MD5ハッシュをbase64でことになっています。

Content-MD5: FbKf/c5m4QUnplvG1xrZTQ== 
関連する問題