从主机传输到Azure的文件SHA256校验和
我通过SFTP把一个文件从大型机传到了Azure,使用的是ASCII模式。现在我想对比一下大型机上的文件和Azure上的文件的校验和(checksum)。我该怎么做呢?
- 我可以在大型机上以二进制模式计算文件的SHA256,也就是说,数据是用CP1047编码的。
- 我已经把文件通过SFTP传到了Azure。在Azure上我可以以ASCII模式计算SHA256,但是计算出来的结果和大型机上的SHA256不一致。
我该如何在Azure上使用Python的Databricks笔记本,以二进制模式计算SHA256,这样才能和大型机上的SHA256匹配呢?
1 个回答
1
因为这个文件是从CP1047格式转换成ASCII格式的,所以我们没法直接比较这两种格式。可以考虑另一种工作流程:
在主机上:
- 使用像
iconv
这样的工具,把文件从CP1047格式转换成ASCII格式。 - 在传输文件之前,计算一下文件的校验和。
- 将这个文件以二进制格式传输到Azure。
在Azure上:
- 当文件接收到后,在Azure这边再计算一次校验和。