Buenas. Yo lo tengo en C#, estoy algo oxidado en VB pero creo que veo algún error.
Estás añadiendo un separador ";" entre campos al pasar el true como parámetro. El separador en todo caso sería "&".
El string te tiene que quedar con el "&" como inicio del nombre de cada campo excepto del primero(IDEmisorFactura). Cambiando eso ya te debería salir bien. Si te sigue saliendo mal pon también cómo te queda el string antes de convertirlo y será más fácil localizar otros posibles fallos.
Ese código del SHA256 huele a ChatGPT
