AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi MD5Print umkehren String zu MD5Digest wandeln
Thema durchsuchen
Ansicht
Themen-Optionen

MD5Print umkehren String zu MD5Digest wandeln

Ein Thema von TUX_der_Pinguin · begonnen am 17. Sep 2010 · letzter Beitrag vom 17. Sep 2010
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

MD5Print umkehren String zu MD5Digest wandeln

  Alt 17. Sep 2010, 09:45
Hallo,

irgendwie stehe ich gerade auf dem Schlauch, ich habe eine MD5 Unit in mein Projekt eingebunden,
mit dieser Unit habe ich schon öfter gearbeitet. Jetzt habe ich mit Hilfe der Funktion MD5Print
einen MD5Digest in einen String gewandelt um ihn in einem Eingabefeld anzuzeigen. Jetzt würde ich
gern diesen String wieder in einen MD5Digest wandeln um ihn per FileStream in einer Datei zuspeichern.

Das Speichern ist kein Problem, nur wie bekomme ich meinen String wieder zurück in ein MD5Digest !?



Ich hatte gedacht das wäre das normalste der Welt, aber ich konnte bisher nichts finden.

Bei String und Integer gehts ja auch, StrToInt & IntToStr aber bei MD5 gibt es nur die eine Richtung.

mfg

TUX
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

AW: MD5Print umkehren String zu MD5Digest wandeln

  Alt 17. Sep 2010, 10:00
Der MD5 String ist ja nur die Hex-Darstellung der vier 32bit Werte.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: MD5Print umkehren String zu MD5Digest wandeln

  Alt 17. Sep 2010, 10:32
Kuckst du hier
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: MD5Print umkehren String zu MD5Digest wandeln

  Alt 17. Sep 2010, 11:36
Vielen dank euch beiden, jetzt steh ich nicht mehr auf dem Schlauch

Habe das auf jetzt wie folgt gelöst.

Delphi-Quellcode:
type
  MD5Digest: array[0..15] of byte;


function MD5Read(S: String): MD5Digest;
var
  i: Byte;
  c: Byte;

  function BaseToInt( const Value : string; const Base : Integer ) : Int64;
  var
    idx : Integer;
    pdx : Integer;
  begin
    if ( Base >= 2 ) and ( Base <= 36 ) then
      begin
        Result := 0;
        idx := 1;
        while idx <= Length( Value ) do
          begin
            Result := Result * Base;
            case Value[ idx ] of
              '0' .. '9' :
                pdx := Ord( Value[ idx ] ) - Ord( '0' );
              'A' .. 'Z' :
                pdx := Ord( Value[ idx ] ) - Ord( 'A' ) + 10;
              'a' .. 'z' :
                pdx := Ord( Value[ idx ] ) - Ord( 'a' ) + 10;
            else
              raise Exception.CreateFmt( 'Ungültiges Zeichen im Wert "%s" entdeckt!', [ Value ] );
            end;
            if pdx < Base then
              Result := Result + pdx
            else
              raise Exception.CreateFmt( 'Der Wert "%s" passt nicht zur Basis %d!', [ Value, Base ] );

            idx := idx + 1;
          end;
      end
    else
      raise Exception.CreateFmt( 'Basis %d ausserhalb des gülitigen Bereichs 2..36', [ Base ] );
  end;

begin

  c := 1;
  for i := 0 to 15 do begin
    result[i] := BaseToInt(Copy(S, c, 2), 16);
    Inc(c, 2);
  end;

end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz