Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old


Calculates a hash of a file.

Component Version macOS Windows Linux Server iOS SDK
Hash 9.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Hash.DigestFile"; Algorithm; FilePath; OutputType { ; OutputInfo; UpdateProgressbar } )   More


Parameter Description Example Flags
Algorithm Which algorithm to use.
Can be MD4, MD5, SHA, SHA1, MDC2, RIPEMD160, SHA224, SHA256, SHA384 or SHA512.
FilePath The native file path to use. "C:\test.dat"
OutputType The output type.
Can be Base64, Hex, Text, File, Path.
Added Base64URL as option for plugin version 10.3.
OutputInfo The addition info for output.
For text it is the text encoding, for file container the file name and for path the actual native file path.
"" Optional
UpdateProgressbar Available in MBS FileMaker Plugin 14.2 or newer.
Pass 1 to keep a progressbar updated for the digest in progress.
Only useful for bigger files.
1 Optional


Returns OK or error.


Calculates a hash of a file.
This function is optimized to process files on disk in chunks, so it works well for several GB of file sizes.

For output we can return the digest in various ways:
  • Base64, the hash is returned as base64 encoded text.
  • Hex, the hash is returned as hex encoded text.

Possible digest engines:
DSA-SHA, DSA, MD5, MDC2, RIPEMD160, SHA, SHA1, SHA224, SHA256, SHA384 or SHA512.

This function requires a native path. Use Path.FileMakerPathToNativePath to convert a FileMaker path to a native path if required. If you like to have the user choose the path, you can use FileDialog functions.
For Server be aware that server has limited permissions and may not be able to access all files on a computer.


Create MD5 of file:

MBS("Hash.DigestFile"; "MD5"; "/Users/cs/Movies/"; "hex")

Hash a file with newer or older way:

#newer function:
Set Variable [$hash1; Value: MBS( "Hash.DigestFile"; "SHA256"; "/Users/cs/Desktop/test.xml"; "base64") ]

#older way:
Set Variable [$hash2; Value: MBS( "Hash.SHA256"; MBS("Text.ReadTextFile"; "/Users/cs/Desktop/test.xml"; "UTF-8"); 1)]

See also

Release notes

Blog Entries

This function checks for a license.

Created 12nd April 2019, last changed 12nd March 2024

Hash.Digest - Hash.MD5