从主机传输到Azure的文件SHA256校验和

1 投票
1 回答
23 浏览
提问于 2025-04-12 18:50

我通过SFTP把一个文件从大型机传到了Azure,使用的是ASCII模式。现在我想对比一下大型机上的文件和Azure上的文件的校验和(checksum)。我该怎么做呢?

  1. 我可以在大型机上以二进制模式计算文件的SHA256,也就是说,数据是用CP1047编码的。
  2. 我已经把文件通过SFTP传到了Azure。在Azure上我可以以ASCII模式计算SHA256,但是计算出来的结果和大型机上的SHA256不一致。

我该如何在Azure上使用Python的Databricks笔记本,以二进制模式计算SHA256,这样才能和大型机上的SHA256匹配呢?

1 个回答

1

因为这个文件是从CP1047格式转换成ASCII格式的,所以我们没法直接比较这两种格式。可以考虑另一种工作流程:

在主机上:

  1. 使用像iconv这样的工具,把文件从CP1047格式转换成ASCII格式。
  2. 在传输文件之前,计算一下文件的校验和。
  3. 将这个文件以二进制格式传输到Azure。

在Azure上:

  1. 当文件接收到后,在Azure这边再计算一次校验和。

撰写回答