Ambos os valores são o mesmo hash - os mesmos bytes "binários" mostrados em duas codificações diferentes (representações), e nenhum é mais "original" que o outro.
(Base64 tem 6 bits por caractere; hexadecimal aka base-16 tem 4 bits por dígito. Três bytes brutos, quatro dígitos Base64, seis dígitos hexadecimais são diretamente conversíveis.)
Quase todas as linguagens de programação terão funções para codificar / decodificar esses formatos. Por exemplo, nas ferramentas de shell:
-
Para decodificar Base64 em dados binários brutos, use
base64 -d
ouopenssl base64 -d
. -
Para codificar dados binários brutos em hexadecimal, use
xxd -p
ouhexdump
.
$ echo 23171f857347970fb56db0c5bb4929f0a4729695 | xxd -r -p | base64
IxcfhXNHlw+1bbDFu0kp8KRylpU=
$ echo IxcfhXNHlw+1bbDFu0kp8KRylpU= | base64 -d | hd
00000000 23 17 1f 85 73 47 97 0f b5 6d b0 c5 bb 49 29 f0 |#...sG...m...I).|
00000010 a4 72 96 95 |.r..|