* 16進数表現

[REFS[
- [1] [CITE@en[RFC 2069 - An Extension to HTTP : Digest Access Authentication]] ([TIME[2012-02-26 10:05:21 +09:00]] 版) <http://tools.ietf.org/html/rfc2069#section-1.3>
- [3] [CITE@en[RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication]] ([TIME[2012-01-09 21:04:30 +09:00]] 版) <http://tools.ietf.org/html/rfc2617#section-3.1.3>
]REFS]

* 文脈


[18] 
[[BSON]] には [[MD5]] の[[データ型]]があります。

* [CODE(HTTP)@en[MD5]] (auth-param [CODE(HTTP)@en[algorithm]] の値)

[12] [[ダイジェスト認証]]の [CODE[[[algorithm]]]] [[引数]]の値
[DFN[[CODE[[[MD5]]]]]] や [DFN[[CODE[[[MD5-sess]]]]]]
は、 [[MD5]] を表します。

;; [[ダイジェストアルゴリズム]]参照。

[11] [[MD5]] は使う[['''べきではありません''']] [SRC[>>10]]。

** 仕様書

[REFS[
- [10] [CITE@en[RFC 7616 - HTTP Digest Access Authentication]] ([TIME[2015-11-10 07:05:08 +09:00]] 版) <https://tools.ietf.org/html/rfc7616#section-3>
]REFS]

** 歴史

[REFS[
- [2] [CITE@en[RFC 2069 - An Extension to HTTP : Digest Access Authentication]] ([TIME[2012-02-26 10:05:21 +09:00]] 版) <http://tools.ietf.org/html/rfc2069#page-6>
]REFS]

* ダイジェストアルゴリズム [CODE(HTTP)@en[MD5]] (HTTP)

[8] [[ダイジェストアルゴリズム]] [DFN[[CODE(HTTP)@en[[[MD5]]]]]] は、
[[RFC 1321]] [[MD5]] を [[RFC 4648]] [[Base64]] [[符号化]]することを表します [SRC[>>4]]。

** 仕様書

[REFS[
- [4] [CITE@en[RFC 5843 - Additional Hash Algorithms for HTTP Instance Digests]] ([TIME[2012-07-24 11:01:12 +09:00]] 版) <http://tools.ietf.org/html/rfc5843#section-2.1>
]REFS]

** 歴史

[7] [[RFC 3230]] では、 [[RFC 1321]] [[MD5]] [[アルゴリズム]]の結果を [[RFC 2045]]
[[Base64]] で[[符号化]]したもの [SRC[>>6]] として [[IANA登録簿]]に登録 [SRC[>>6]] していました。

[REFS[
- [6] [CITE@en[RFC 3230 - Instance Digests in HTTP]] ([TIME[2014-08-31 18:57:37 +09:00]] 版) <http://tools.ietf.org/html/rfc3230#page-7>
]REFS]

[5] >>4 で登録が更新されています。

* [CODE(URI)@en[md5:]] URL scheme

[16] [CITE[[[W3CLIST]]]] に掲載されています。

[FIG(quote)[
[FIGCAPTION[
[17] [CITE@en[FFmpeg Protocols Documentation]] ([TIME[2017-01-22 02:22:36 +09:00]]) <https://ffmpeg.org/ffmpeg-protocols.html#md5>
]FIGCAPTION]

>MD5 output protocol.
>
Computes the MD5 hash of the data to be written, and on close writes this to the designated output or stdout if none is specified. It can be used to test muxers without writing an actual file.
>
Some examples follow.
[PRE(code)[
# Write the MD5 hash of the encoded AVI file to the file output.avi.md5.
ffmpeg -i input.flv -f avi -y md5:output.avi.md5

# Write the MD5 hash of the encoded AVI file to stdout.
ffmpeg -i input.flv -f avi -y md5:
]PRE]
]FIG]

* メモ

[9] [CITE@en[RFC 6151 - Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms]]
([TIME[2015-10-12 00:32:44 +09:00]] 版)
<https://tools.ietf.org/html/rfc6151>

[13] [CITE[Index of /osmc/osmc/download/installers/diskimages]] ([TIME[2016-05-06 00:48:46 +09:00]]) <https://ftp.uni-erlangen.de/osmc/osmc/download/installers/diskimages/>

[14] >>13 [CODE[.md5]] ファイルの [[MIME型]]が [CODE(MIME)@en[application/x-md5]]

[15] [CODE[.md5]] ファイルで使われる [[MIME型]]:
[FIG(short list)[
- [CODE(MIME)@en[text/plain]]
- [CODE(MIME)@en[plain/text]]
- [CODE(MIME)@en[application/octet-stream]]
- [CODE(MIME)@en[application/x-md5]]
]FIG]