Indy - Base64-Verschlüsselung



  • hat jemand ne ahnung, wie ma diese compos bedient. die hilfe sagt auch nix gescheites, und im web hab ich auch nichts gefunden.

    Ich will mit den Kompos einen TextString ver und entschlüsseln.

    Mit IdBase64Encoder->CodeString("Test"); hats nicht funktioniert.

    MFG DreadlockFilbert

    [ Dieser Beitrag wurde am 14.10.2002 um 09:24 Uhr von Jansen editiert. ]



  • Im aktuellen Indy 9.0.10 gibt es kein TIdBase64Encoder (mehr), ich vermute mal, dass TIdEncoderMIME der entsprechende Nachfolger ist. Dort funktioniert das dann zB. so:

    //---------------------------------------------------------------------------
    // Kodieren
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      Caption = IdEncoderMIME1->Encode(Caption);
    }
    //---------------------------------------------------------------------------
    // Dekodieren
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
      Caption = IdDecoderMIME1->DecodeToString(Caption);
    }
    //---------------------------------------------------------------------------
    


  • //--------------------------verschlüsseln---------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    IdBase64Encoder1->Reset();
    IdBase64Encoder1->CodeString(Edit1->Text);
    Edit2->Text=IdBase64Encoder1->CompletedInput();
    }
    //------------------------------------------------
    


  • Danke. hat funktioniert.
    aber wie kann ich den ganzen string wieder decodieren??

    IdBase64Decoder1->Reset();
    IdBase64Decoder1->CodeString(Edit2->Text);
    Edit3->Text=IdBase64Decoder1->CompletedInput();
    

    funktioniert nicht



  • Was funktioniert denn nicht?

    Wird nicht decodiert?
    Kommt eine Fehlermeldung?
    Wird NULL-String zurückgegeben?



  • Wenn ich auf den Button klick Passiert gar nichst... Ich bekomme nichmal eine Fehlermeldung!?
    Ich kann wie gesagt nur encodieren aber den text nicht mehr zurück decodieren!



  • Hmm.
    bei mir wird nach der verschlüsselung z.b. so ein string erstellt "0;RWRpdDE="
    beim decodieren bekomme ich eine fehlermeldung "Eintrag in der codetabelle nicht gefunden" oder ähnlich.
    aber wenn ich die ersten 2 stellen "0;" aus dem string entferne wir string decodiert. vorne an dem string wird allerdings "0;" angehängt: "0;Test"



  • danke, das hat funktioniert.


Anmelden zum Antworten