TheRepatriate
Lt. Junior Grade
- Registriert
- Nov. 2008
- Beiträge
- 258
Hallo zusammen,
zurzeit versuche ich in meiner Java-Applikation das "objectGUID" Attribut von User-Objekten aus dem Active Directory auszulesen, um diese eindeutig zuordnen zu können. Die GUID ist im AD im Binär-Format abgelegt und besteht aus 16 Zeichen.
Hier wird ganz gut beschrieben, wie man die ObjectGUID von einem byte-Array in ein leserlichen String bringt, der beispielsweise so bei mir aussehen soll: "ac642e6e-6ab5-425a-bcc9-9f5067d46e3f". Problem dabei ist, dass ich nicht direkt ein byte-Array bekomme. Der Zugriff meiner App erfolgt nicht direkt auf das AD sondern über einen Access-Manager (OpenAM). Ich bekomme die GUID daher gekapselt in einem Json-Objekt zusammen mit anderen User-Attributen als String.
Ich habe bereits versucht den eingehenden String in ein byte-Array zu konvertieren:
Wenn ich dieses byte-Array jedoch in die String-Repräsentation überführe (s.o.) sind nicht alle Zeichen der GUID richtig.
Im verlinkten Artikel wird ausdrücklich darauf hingewiesen, dass eine konvertierung in ein String und dann in bytes, zu falschen Ergebnissen führt:
Liegt es vielleicht an der Kodierung des Strings im JSON-Object?
Vielen Dank!
zurzeit versuche ich in meiner Java-Applikation das "objectGUID" Attribut von User-Objekten aus dem Active Directory auszulesen, um diese eindeutig zuordnen zu können. Die GUID ist im AD im Binär-Format abgelegt und besteht aus 16 Zeichen.
Hier wird ganz gut beschrieben, wie man die ObjectGUID von einem byte-Array in ein leserlichen String bringt, der beispielsweise so bei mir aussehen soll: "ac642e6e-6ab5-425a-bcc9-9f5067d46e3f". Problem dabei ist, dass ich nicht direkt ein byte-Array bekomme. Der Zugriff meiner App erfolgt nicht direkt auf das AD sondern über einen Access-Manager (OpenAM). Ich bekomme die GUID daher gekapselt in einem Json-Objekt zusammen mit anderen User-Attributen als String.
Ich habe bereits versucht den eingehenden String in ein byte-Array zu konvertieren:
PHP:
byte[] guid = bytes.getBytes(Charset.defaultCharset());
Im verlinkten Artikel wird ausdrücklich darauf hingewiesen, dass eine konvertierung in ein String und dann in bytes, zu falschen Ergebnissen führt:
Ich habe aber leider keine andere Möglichkeit, da ich nur ein String bekomme. Habt ihr eine Idee, wie ich vielleicht doch den eingehenden String nutzen, und in eine gültige GUID konvertieren kann?IMPORTANT NOTE
For line 27, PLEASE DO NOTE CODE THE BELOW:
byte[] guid = sr.getAttributes().get(“objectGUID”).get().toString().getBytes();
Liegt es vielleicht an der Kodierung des Strings im JSON-Object?
Vielen Dank!