📘
BlobのMD5ハッシュを検証する
はじめに
Blobコンテナーにファイルをアップロードすると自動的にMD5ハッシュが計算されて付与される。
付与されたハッシュ値はプロパティのCONTENT-MD5で確認できる。
ダウンロードしたファイルのハッシュを計算しBlobのプロパティの値と突き合わせることで、
ダウンロードしたファイルが破損していないかを検証する。
単にmd5sumすれば良いと考えていたが、そんなに単純ではなかったため、手順を記載する。
Blobのプロパティに含まれるmd5ハッシュを確認
まずはBlobのプロパティからMD5ハッシュを確認。
$ export AZURE_STORAGE_ACCOUNT="<storage accout name>"
$ export AZURE_STORAGE_KEY="<storage account access key>"
$ container="<container name>"
$ file="<blob file>"
$ az storage blob list -c $container --prefix $file \
--query [].properties.contentSettings.contentMd5 -o tsv
PfmYGeV0tf8ugorXav7ekQ==
ファイルのMD5ハッシュが「PfmYGeV0tf8ugorXav7ekQ==」と確認できた。
ダウンロードしたファイルのハッシュを計算
BlobをダウンロードしたあとMD5を計算し、上記のハッシュと一致するか確認する。
opensslが使える場合は以下。
$ openssl dgst -md5 -binary $file | base64
PfmYGeV0tf8ugorXav7ekQ==
md5sumコマンドの場合は以下。
$ md5sum --binary $file | awk '{print $1}' | xxd -p -r | base64
PfmYGeV0tf8ugorXav7ekQ==
Discussion