BulaevInc, стандартный способ записи бинарных данных в виде строки по две шестнадцатеричных цифры на байт, так что просто строка 9b71d224... это просто представление последовательности байт 0x9b 0x71 0xd2 0x24 ....
В документации к CryptoJS написано, что результат SHA512 это WordArray
в приведённом коде в JS на последующих шагах хешируются байты, т. е. на втором заходе будут хешироваться байты0x9b 0x71 0xd2 ....
А в плюсовом коде всегда хешируется строка (которая видимо превращается в байты), т.е. на второй заход будут хешироваться байты 0x39 0x62 0x37 0x31 ... (т.е. ascii коды символов 9b71...), а не оригинальные байты 0x9b 0x71 ...
Непонятно какую задачу вы этим хотите решить.
Почти всегда гораздо проще когда урлы единообразны (все со слешами или все без) и я не припомню ни одного случая когда слеш и параметры как-то друг другу мешают.
0x9b 0x71 0xd2 0x24 ...
.В документации к CryptoJS написано, что результат SHA512 это WordArray