Como este valor de ObjectGUID foi codificado?

1

Um aplicativo armazena o objectGUID da entrada MSAD de um usuário internamente como:

msad://OBJECTGUID=cd\d8\df\d2\da\d5\c5?USER 

Abaixo estão os Uids que vejo quando puxo os detalhes do usuário usando o comando ldapsearch :

...
objectGUID:: XHgzbXfY30SAB9J32tXFaQ==
ibm-entryUuid: {base64binary}XHgzbXfY30SAB9J32tXFaQ==
objectSid:: AQUAAAAAAAUVAAAAJnYeL8CFOF0H5TsrNU0lAA==
employeeNumber: 502075089
...

Alguém tem uma ideia de como o aplicativo está codificando o objectGUID do MSAD em msad://OBJECTGUID=cd\d8\df\d2\da\d5\c5?USER ?

Eu basicamente tenho que decodificar a codificação de aplicativos de objectGUID .. para identificar as entradas MSAD correspondentes.

    
por Kent Pawar 24.07.2013 / 19:00

1 resposta

2

São exatamente os mesmos dados exibidos em hexadecimal em vez de Base64.

No formato LDIF, que ldapsearch produz, dois dois-pontos significa que o valor a seguir é codificado em base64 (geralmente porque possui dados binários). Por exemplo, são equivalentes:

greeting: Hello

greeting:: SGVsbG8=

Portanto, se você executar XHgzbXfY30SAB9J32tXFaQ== (o valor de objectGUID ) por meio de um decodificador base64, obterá:

$ echo XHgzbXfY30SAB9J32tXFaQ== | base64 -d | xxd
0000000: 5c78 336d 77d8 df44 8007 d277 dad5 c569  \x3mw..D...w...i

No seu msad:// URI, o mesmo GUID é armazenado em hexadecimal, cada byte prefixado com \ .

    
por 24.07.2013 / 19:54