Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#1

BAS64 Decode mit TIdDecoderMIME.DecodeString: ein Zeichen fehlt

  Alt 6. Mär 2019, 10:08
Hallo,

Mit TIdDecoderMIME.DecodeString ergibt dieser Base64 String
'eyJhbGciOiJSUzI1NiIsImtpZCI6ImNmMDIyYTQ5ZTk3ODYxNDhhZDBlMzc5Y2M4NTQ4NDRlMzZjM2VkYzEiLCJ0eXAiOiJKV1QifQ' dekodiert:
'{"alg":"RS256","kid":"cf022a49e9786148ad0e379cc854844e36c3edc1","typ":"JWT"'
Richtig wäre aber dieser, mit einem abschliessenden "}"
'{"alg":"RS256","kid":"cf022a49e9786148ad0e379cc854844e36c3edc1","typ":"JWT"}'
Beispielcode zum Testen:
Delphi-Quellcode:
uses
   ... IdCoderMIME, IdGlobal, ...


  Assert('{"alg":"RS256","kid":"cf022a49e9786148ad0e379cc854844e36c3edc1","typ":"JWT"}' =
    TIdDecoderMIME.DecodeString('eyJhbGciOiJSUzI1NiIsImtpZCI6ImNmMDIyYTQ5ZTk3ODYxNDhhZDBlMzc5Y2M4NTQ4NDRlMzZjM2VkYzEiLCJ0eXAiOiJKV1QifQ', IndyTextEncoding_UTF8));
Wo liegt der Fehler?

p.s. ok sehe dass der Input-String eine ungültige Länge hat ...
Michael Justin

Geändert von mjustin ( 6. Mär 2019 um 10:33 Uhr)
  Mit Zitat antworten Zitat