![不同的下载工具会产生不同的 MP3 校验和](https://linux22.com/image/1577070/%E4%B8%8D%E5%90%8C%E7%9A%84%E4%B8%8B%E8%BD%BD%E5%B7%A5%E5%85%B7%E4%BC%9A%E4%BA%A7%E7%94%9F%E4%B8%8D%E5%90%8C%E7%9A%84%20MP3%20%E6%A0%A1%E9%AA%8C%E5%92%8C%20.png)
我编写了一些用于下载播客的代码,并注意到用它下载的文件的校验和与使用其他方法下载的文件的校验和不匹配。
最初我以为我的代码中有一个错误,但通过测试我发现使用 wget、curl 和 Invoke-WebRequest 下载的文件也彼此不同。我在 Windows 10 PC 和 Ubuntu 16.04 VPS 上进行了测试,两者上都发生了同样的事情。
有人知道这可能是什么原因造成的吗?
答案1
这很可能是因为网站向每个下载者提供的流略有不同。
差异可能是由于水印(对于受版权保护的材料,通常用于唯一标识每个下载)、DRM、用于编码音频流的不同编解码器、文件中嵌入的不同元数据(例如“下载日期/时间”之类的时间戳)等造成的。