2013-04-25 2 views
2

Я пишу приложение, в котором необходимо передать файлы с удаленного SFTP-сервера на локальный компьютер и наоборот. Во время передачи файла я хочу убедиться, что пакеты данных не потеряны и не повреждены в пути. Идея заключается в том, чтобы запустить контрольную сумму MD5 в удаленном файле (находящемся на сервере sftp) до передачи, а затем начать процесс передачи , Как только передача будет выполнена, запустите md5 в локальном файле и сравните две контрольные суммы.Получение контрольной суммы MD5 на удаленном сервере с использованием АОH

Я использую АОХ для подключения к серверу sftp, а код находится в java. Но я не знаю, как запустить md5 на удаленном файле, находящемся на SFTP-сервере. Мой код должен сделать MD5 в удаленном файле прежде чем передача состоится. Любая идея о том, как это сделать, пожалуйста.

+1

SFTP обрабатывает проверку целостности для вас, поэтому ваша задача не имеет смысла. –

+0

@ EugeneMayevski'EldoSCorp Это правда. Просто нужно отметить, что файл может быть поврежден во время чтения/записи, поэтому вне канала SSH. Вряд ли. –

+0

@MartinPrikryl Да, файл может быть поврежден в любом месте, что делает проблему неуместной для SSH/SFTP :) –

ответ

2

Большинство систем Unix имеют команду md5sum. Вы можете вызвать на удаленном сервере, чтобы получить хэш.

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

Сайт JSch содержит an example, который показывает, как вызвать команду на удаленном сервере. Это может быть легко адаптировано для запуска команды md5sum.

Смежные вопросы