Tenho uma coluna em uma tabela do SQL Server contendo informações como as seguintes:
Dados |
---|
0x0056794433020000632700C90079058303F2000102EA40C0000000150001000100020001001500010001000136BB00000000000001F50000000100010001000100003135343131313838323230393239393638340000 |
0x0056C944370200007827007200C9058303F2000102EA40BD0000000E003E000200020001000E00010001000136C5020036B1000001F50000000100010001000100003339303038373030333533323331343536310000 |
0x0056C9443102000078AF007100C9058303F2000102EA40BB0000000D0033000500020002000D00010001000136C5020036B1000001F50000000100010001000100003339303038373030333533323338323937330000 |
Esta informação é escrita da seguinte forma (código VB.Net):
Dim oPar5 As New SqlParameter("@Data", Convert.ToBase64String(data))
Estou tentando decodificar isso, mas sinto que estou sendo jogado para lá e para cá por causa da minha falta de conhecimento sobre o assunto (o ChatGpt, por exemplo, está constantemente arrastando XML para isso, enquanto isso não tem nada a ver).
Então decidi começar com o básico: o que são strings Base64? Somente quando isso estiver claro, posso começar a tentar converter isso em matrizes de Byte (como teste, o quarto byte deve ser sempre "D", "K" ou "Q", outros valores não são possíveis).
Alguém pode me dar um começo?
Base64 é uma codificação de 6 bits de dados binários de 8 bits, normalmente usando caracteres
a-z A-Z 0-9 / +
(e geralmente=
como preenchimento final). "Strings Base64" seriam, portanto, strings ASCII simples que contêm tais dados codificados.As strings na sua tabela não são Base64; elas têm os dados codificados em hexadecimal (o que eu presumo ser apenas o que o cliente SQL mostra enquanto a coluna real armazena dados binários não codificados). Então, meu palpite é que ou o código VB.Net não corresponde ao banco de dados, ou há algum código adicional no lado da consulta SQL da operação que desfaz a codificação Base64 antes de armazenar no banco de dados (por exemplo
BASE64_DECODE(@Data)
, ou algo parecido).A versão codificada em Base64 do mesmo valor seria: