Entwickler-Ecke
Algorithmen, Optimierung und Assembler - AES-Verschlüsselung und XML
stiftmaster - So 26.06.05 12:27
Titel: AES-Verschlüsselung und XML
Hallo,
ich habe wie folgt eine XML-Datei erzeugt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| if not Assigned(XML) then XML := TXMLDocument.Create(nil); XML.Active := True; XML.Encoding := 'UTF-8'; XML.NodeIndentStr := ' '; XML.Options := [doNodeAutoIndent]; |
Soweit so gut. Danach habe ich einen String mit AES wie folgt verschlüsselt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| function EncodeString(Value, Key: PChar): PChar; var AES: TCipher_Rijndael; begin try Result := Value;
AES := TCipher_Rijndael.Create(Key, nil); Result := PChar(AES.EncodeString(Value)); finally AES := nil; AES.Free; end; end; |
Bei der Verschlüsselung kommt z.B. sowas raus: "'b¨Ð«øR'#$1B'´á'#$19#$1D'‡I¿%0'"
Diesen String soll ich nun in der XML-Datei als Attribut von einem Knoten speichern. Dafür verwendet ich folgenden Vorgang:
Delphi-Quelltext
1:
| XML.ChildNodes['Main_Knoten'].ChildNodes['Konto1'].Attributes['Decoded'] := Decode('KontoNr.1'); |
Dann kriege ich die Fehlermeldung: "An invalid character was found in text content." Ich vermute mal, dass UTF-8 nicht mit den ganzen Sonderzeichen klar kommt. Weiß jemand, wie ich das Problem umgehen kann bzw. wie ich den verschlüsselten String in der XML-Datei speichern kann.
Dankend
Stefan
retnyg - So 26.06.05 12:35
am besten das passwort noch
BASE64 verschlüsseln, so wie bei mime-mails
stiftmaster - So 26.06.05 13:25
okay, das ist dann noch ein NiceToHave. Aber das löst momentan nicht das Problem, dass ich den verschlüsselten Text nicht in einer XML-Datei speichern kann, oder etwa doch?
Stefan
retnyg - So 26.06.05 13:31
es löst dein problem dadurch, dass alle nicht darstellbaren zeichen in einen darstellbaren bereich verschoben werden
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!