![]() |
BASE64 En- /Decodierung Problem
Hey,
Für die BASE64 De-/ und ENcodierung habe ich folgenden Code:
Delphi-Quellcode:
const
Codes64 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/'; function Encode64(S: string): string; var i: Integer; a: Integer; x: Integer; b: Integer; begin Result := ''; a := 0; b := 0; for i := 1 to Length(s) do begin x := Ord(s[i]); b := b * 256 + x; a := a + 8; while a >= 6 do begin a := a - 6; x := b div (1 shl a); b := b mod (1 shl a); Result := Result + Codes64[x + 1]; end; end; if a > 0 then begin x := b shl (6 - a); Result := Result + Codes64[x + 1]; end; end; function Decode64(S: string): string; var i: Integer; a: Integer; x: Integer; b: Integer; begin Result := ''; a := 0; b := 0; for i := 1 to Length(s) do begin x := Pos(s[i], codes64) - 1; if x >= 0 then begin b := b * 64 + x; a := a + 6; if a >= 8 then begin a := a - 8; x := b shr a; b := b mod (1 shl a); x := x mod 256; Result := Result + chr(x); end; end else Exit; end; end; Wie rufe ich denn nun die decode funktion auf? Bei dem hier kommt irgendwie was komisches raus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Showmessage(Decode64(Edit1.Text)); end; Kann mir da bitte jemand helfen? PS: das "Mnp4NjEweDc" soll decodiert werden danach müsste es "25361037" heissen. eventuell ist es auhc nur der hintere teil also statt "Mnp4NjEweDc" nur "EweDc"" das weiß ich nicht! Danke Lg La.Reunion |
Re: BASE64 En- /Decodierung Problem
Naja, als String einfach den verschlüsselten String. :gruebel:
Edit: Wenn ich "25361037" codiere kommt "CZKpDZ4mCpS" raus, und nicht "Mnp4NjEweDc"! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz