La mejor manera es proporcionar el hash como texto (cadena hexadecimal) a través de HTTPS. De lo contrario, podría ofrecer la descarga directamente a través de HTTPS y evitar agregar el hash. El punto importante aquí es la seguridad provista por TLS, sin esto, su hash será inútil para la seguridad.
Deberías usar un hash robusto, como SHA-256 en lugar de MD5.
Si no está interesado en prevenir un ataque pero solo quiere garantizar la integridad de las descargas, debe poner las descargas a través de HTTPS y olvidar el hash. De esta manera, todos se beneficiarán de él, no solo los usuarios que conocen hash, y será una experiencia más fluida.