There are plenty of possible hashing algorithms in use. Some are forced by standards, some are faster on hardware, some on 64-bit CPUs, some are relatively new. So there is no single algorithm that will satisfy you in every situation. That is why, Metalink4 files can contain many choices of the hashes. Various utilities, various versions, various OS distributions have different set of available/better options. That is why meta4ra-create and meta4ra-check utilities have -hashes option, where you specify set of supported algorithms and command line to run for their calculation. -hashes is comma-separated list of colon-separated "name:cmdline" pairs. -hashes "skein-512:skein512,sha512:libressl dgst -sha512" option tells, that for calculation of Skein-512 you have to run skein512 command, and for SHA2-512 "libressl ..." one. They are invoked under "/bin/sh -e -c" command, so pipelines are also allowable there. Data is fed to their stdout and they are expected to print hash value in hexadecimal form as a first (or single) column to stdout. First found common algorithm is used by default for file verification in meta4ra-check utility, so order in -hashes is important. meta4ra-hashes-detect utility conveniently checks various predefined known commands and outputs -hashes-compatible string for your system. If you use "builtin" word as a command, then builtin implementation of the hash will be used. By default, meta4ra does not require any non-standard library dependencies, so it includes only SHA2-256 and SHA2-512. Optionally you can run build-with-thirdparty script to enable building with third-party libraries, including much more other hashes. Only a few hashes are standardised: https://www.iana.org/assignments/hash-function-text-names/hash-function-text-names.xhtml But meta4ra uses more of advanced and performant ones. They are listed below in order of preference. * blake3-256 Ultimately fast hash, still considered cryptographically secure. Out-of-box Merkle-tree gives ability to indefinitely parallelise for >1KiB blocks. It runs faster than either MD5 or hardware-accelerated SHA2-256. Runs several times faster with AVX512. It is reduced round BLAKE2s. * blake2b-512, blake2b-256 Very fast hash, pretty widespread as a SHA2 replacement. Both of its 512/256-bit variants are often met. It is reduced round BLAKE, that was among SHA3 finalists. * skein-512 Skein is fastest software hash among all SHA3 finalists, with huge security margin. * shake128, shake256 SHAKE is the officially recommended SHA3 mode of operation for general usage. SHAKE256 as fast as software SHA2-512 with the comparable security level. Can be very fast on specialised hardware. * sha-512, sha-256 SHA2 is rather slow, but has widespread availability. 512-bit version version runs faster on 64-bit CPUs. However modern CPUs have hardware accelerated SHA2-256, making it slower only than BLAKE3 * streebog-512, streebog-256 Russian Federation's government standard for hashing. Both versions have identical speed, so 512-bit is preferred. * xxh3-128 XXH3 is not a cryptographically secure hash (that is why it is at the very end of the list), but 128-bit output with the speed of RAM makes it also useful for integrity checking