java - 使用 JSCH 在远程服务器上获取 MD5 校验和

标签 java md5 sftp jsch

我正在编写一个应用程序,要求将文件从远程 SFTP 服务器传输到本地计算机,反之亦然。在文件传输过程中,我想确保没有数据包在传输过程中丢失和损坏。所以我的想法是在传输之前对远程文件(驻留在 sftp 服务器中)运行 MD5 校验和,然后开始传输过程.传输完成后,对本地文件运行 md5 并比较两个校验和。

我正在使用 JSCH 连接到 sftp 服务器,代码在 java 中。但是我不知道如何对驻留在 SFTP 服务器中的远程文件运行 md5。我的代码必须先对远程文件执行 MD5转移发生。请提供有关如何完成此操作的任何想法。

最佳答案

大多数 Unix 系统都有一个 md5sum 命令。您可以在远程服务器上调用它来检索哈希。

$ md5sum /tmp/test
34a27208f62ff3bdae031c9e8a354ac3  /tmp/test

Jsch 网站包含 an example这显示了如何在远程服务器上调用命令。这可以很容易地适应运行 md5sum 命令。

关于java - 使用 JSCH 在远程服务器上获取 MD5 校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16216902/

相关文章:

java - 滚动 java 2d 游戏图 block map ,同时生成附加图 block

php - md5() 仍需要 mysql_real_escape_string() 吗?

python - MD5 返回不同的哈希码 - Python

c# - 函数每次返回不同的 MD5 散列

ftp - CentOS 6.2 越狱 sftp 帐户

java - Java中多维ArrayList添加元素

java - 计算相互信息以选择Java中的训练集

java - 如果运行模式为并行 ="methods",如何强制 TestNG 为每个方法创建新的测试类实例

与 apache vfs 的 SFTP 连接失败,但与 WinSCP 成功

linux - 通过每分钟轮询从远程目录复制修改后的文件