2013-04-25 2 views
2

원격 SFTP 서버에서 로컬 컴퓨터로 파일을 전송하거나 그 반대의 경우에 응용 프로그램을 작성하고 있습니다. 파일 전송 중에 데이터 패킷이 손실되지 않고 transit.So에서 손상되었는지 확인하려면 전송 전에 원격 파일 (sftp 서버에 있음)에 MD5 체크섬을 실행 한 다음 전송 프로세스를 시작하는 것이 좋습니다 . 전송이 완료되면 로컬 파일에서 md5를 실행하고 두 체크섬을 비교합니다.JSCH를 사용하여 원격 서버에서 MD5 체크섬 가져 오기

JSCH를 사용하여 sftp 서버에 연결하고 코드가 java.But에 있습니다. SFTP 서버에있는 원격 파일에서 md5를 실행하는 방법을 모릅니다. 내 코드는 원격 파일에서 MD5를 수행해야합니다. 전이가 일어나기 전에.이 일을 성취하는 방법에 대한 아이디어는 제발.

+1

SFTP는 무결성 검사를 처리하므로 작업이 적합하지 않습니다. –

+0

@ EugeneMayevski'EldoSCorp 사실입니다. 읽기/쓰기가 진행되는 동안 파일이 손상 될 수 있으므로 SSH 채널 외부에서 손상 될 수 있습니다. 있을 법하지도 않습니다. –

+0

@MartinPrikryl 예, 파일이 어디서나 SSH/SFTP와 관련없는 문제를 일으킬 수 있습니다. –

답변

2

대부분의 유닉스 시스템에는 md5sum 명령이 있습니다. 원격 서버에서이를 호출하여 해시를 검색 할 수 있습니다.

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

Jsch 웹 사이트는 원격 서버에서 명령을 호출하는 방법을 보여줍니다 an example가 포함되어 있습니다. 이것은 md5sum 명령을 실행하는 데 쉽게 적용될 수 있습니다.

관련 문제