A checksum should be most probably a different one for different files and by reading just 100 MB this will not be the case. I initially have done this because Xojo does not offer a way to generate a checksum for a file but only for strings or memory blocks.
Nevertheless, I’ve found a workaround with a terminal wrapper for Mac OS, but it is certainly possible for windows and I will develop it later. The wrapper is also able to calculate an SHA-512, SHA-256 or SHA-1 checksum. If someone is interested in it, the code is here and it costs nothing:
Public Function getChecksum(Extends f As FolderItem, type As String) as String
var st As String
var term As new Shell
#If TargetMachO or TargetARM then
select case type
case "SHA512"
term.Execute"shasum -a 512 "+f.ShellPath
case "SHA256"
term.Execute"shasum -a 256 "+f.ShellPath
case "SHA1"
term.Execute"shasum -a 1 "+f.ShellPath
case "MD5"
term.Execute"MD5 "+f.ShellPath
end select
st=term.Result
if type="MD5" then
if st.CountFields("=")<>2 then Return ""
Return st.NthField("=",2).Trim.Uppercase
else
if st.CountFields(" ")<>2 then Return ""
Return st.NthField(" ",1).Trim.Uppercase
end if
#elseif TargetWindows then
// HAS TO BE CODED (real time test)
// "certutil -hashfile "+f.ShellPath+" MD5"
Return ""
#endif
End Function