FTP - Interoperability - Integrity Check How-To
- Last Updated: July 29, 2025
- 1 minute read
- MOVEit Transfer
- Version 2022
- Documentation
In version 3.3 the MOVEit Transfer expanded its FTP integrity check protocol to allow non-MOVEit FTP clients to begin to perform cryptographic integrity checks as well. (SmartFTP was the first non-MOVEit FTP client to take advantage of the open protocol.)
SHA Cryptographic Integrity Check
To use integrity checks with MOVEit Transfer, send the following commands from the client to the server:
- INTEGRITY H - tells MOVEit Transfer that this client knows how to do integrity checking (pass this command once per session)
- XSHA1 [FileName] - asks MOVEit Transfer for the SHA hash of a particular file (it is usually most efficient to ask for this information immediately after transferring that file)
- HASH OK/BAD - tells MOVEit Transfer that a locally calculated SHA matches the XSHA1 hash was requested (only send this command after an XSHA1 command)
The local FTP client must be able to calculate SHA-1 hashes. MD5 hashes MAY be allowed in the future, but only to support legacy FTP clients. CRC values will NEVER be allowed as they lack any cryptographic value and are not useful in situations where non-repudiation is required.
Sample FTP Session
The following FTP session shows an FTP client session working with variations of the commands discussed above.
ftp> QUOTE INTEGRITY H
200 Integrity mode selected
ftp> get HomePage.php
200 PORT command successful
150 RETR command started
226 Transfer complete. Integrity check pending.
ftp: 4890 bytes received in 0.70Seconds 6.79Kbytes/sec.
ftp> QUOTE XSHA2 HomePage.php
ftp> QUOTE HASH OK
200 Downloaded file has passed integrity check.