Bruna, estou recebendo a mesma mensagem de erro de Hash no QR Code versão 2 na Sefaz do RJ, tanto nas NFCEs online quanto offline que testei em ambiente de homologação.
Fiz alguns testes no validador do Encat (http://www.nfce.se.gov.br/portal/portalNoticias.jsp?jsp=barra-menu/servicos/validadorSHA1HEXA.htm) e percebi que a SEFAZ do RJ está calculando o Hash com uma "|" que não existe no manual de especificações técnicas para geração do QR Code ver. 2. Ela está calculando o Hash adicionando uma "|" entre o 4º parâmetro e CSC. No manual não informa a adição desta barra após o 4º parâmetro.
Fiz com algumas NFCEs emitidas pela minha aplicação o seguinte teste:
Na página do validador, coloquei a "|" após o 4º parâmetro antes de concatenar com o CSC, gerei o Hash dos 5 parâmetros, converti para Hexa, e chamei a URL de consulta por QR Code da Sefaz RJ, substituindo na URL o Hash gerado pela minha aplicação, pelo que gerei pelo validador .Não ocorreu mais a mensagem de erro de Hash inválido em nenhum dos testes.
A minha conclusão é que essa mensagem de erro é um bug no sistema de consulta por QR Code ver 2 da Sefaz RJ, que espero, seja corrigido logo.