@Kyoung Welcome to Microsoft Q&A, Thank you for posting your query!
The best practice is that you always calculate hash of a downloaded blob and keep it as baseline to compare next time.
As I understand you you are referring: Blobs uploaded by PutBlob will have Content-MD5 calculated by Storage service. But Blobs uploaded PutBlock/PutBlockList won’t have it, and client needs to calculate locally and set it to x-ms-blob-content-md5 Blob property explicitly. When client doesn’t do it, it’s empty. Above recommendation is based on such different cases. Reference: https://technet2.github.io/Wiki/blogs/windowsazurestorage/windows-azure-blob-md5-overview.html
Additional information: Please refer to this GitHub article
Hope this helps!
Kindly let us know if the above helps or you need further assistance on this issue.
--------------------------------------------------------------------------------------------------------------------------------
Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.
https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob has a handful of conditions around when MD5 will/won’t be stored.