![]() |
md5.pas bringt anderes Ergebnis als php md5
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe verschiedene md5.pas getestet, alle möglichen, die ich im Netz gefunden habe, aber die Funktionen bringen immer ein anderes Ergebnis als die md5 Funktion von php. Hat da irgendjemand eine Idee?
Delphi-Quellcode:
.....
var cryptpass:string; i:Integer; c:String; a,o,n:byte; begin cryptpass:=''; for i := 0 to Length(EditPW1.Text)-1 do begin c:=copy(EditPW1.Text,i+1,1); a:=ord(c[1]); o:=a-65; n:=(177+o+i); cryptpass:=cryptpass+chr(n); end; showmessage(cryptpass+#13+MD5Print(MD5String(cryptpass))); ...
Code:
Wie man im Anhang sieht, liegt es wirklich nur am md5 Teil, diese For Schleife davor (die übringens nicht von mir ist, die ich aber verwenden muss) erzeugt sowohl in php als auch in Delphi den gleichen String.
<?php
$i=$c=$o=$n=$nc=""; $cryptpass=""; $test="123abc"; for ($i=0;$i<strlen($test);$i++) { $c=substr($test,$i,1); $a=ord($c); $o=($a-65); $n=(177+$o+$i); $nc=chr($n); $cryptpass.=$nc; } echo $cryptpass."<br>"; echo md5($cryptpass); ?> Also, vielleicht hat jemand eine md5.pas, die verwendet werden kann oder liegt es an was anderem? Danke Christof |
AW: md5.pas bringt anderes Ergebnis als php md5
Hallo,
versuche es mal so...
Delphi-Quellcode:
Grüße
var
cryptpass:ansiString; i:Integer; c:ansiString; a,o,n:byte; Klaus |
AW: md5.pas bringt anderes Ergebnis als php md5
Leider nicht, bringt genau das gleiche wie mit "String"
Christof |
AW: md5.pas bringt anderes Ergebnis als php md5
Liste der Anhänge anzeigen (Anzahl: 1)
Klappt es mit der Datei im Anhang?
|
AW: md5.pas bringt anderes Ergebnis als php md5
JAAAAAAAAAAAAA, super :thumb:
Delphi-Quellcode:
Funktioniert !
LowerCase(MD5DigestToStr(MD5String(cryptpass)))
Vielen Dank |
AW: md5.pas bringt anderes Ergebnis als php md5
Bei Hashfunktionen sollte man immer eine Selbstest-Funktion mit an Bord haben!
Testvektoren findet man auf ![]() Also ungefähr so:
Delphi-Quellcode:
procedure MD5Selftest;
begin if MD5DigestToStr(MD5String('Franz jagt im komplett verwahrlosten Taxi quer durch Bayern')) <> 'a3cca2b2aa1e3b5b3b5aad99a8529074' {bitte alles in Goßbuchstaben, bin gerade zu tippfaul} then raise Exception.Create('MD5 Selftest failed'); end; |
AW: md5.pas bringt anderes Ergebnis als php md5
Zitat:
|
AW: md5.pas bringt anderes Ergebnis als php md5
Hatte letztens ein ähnliches Problem. Eine MD5 Unit, die ich vor Ewigkeiten mal hier im Forum gefunden hatte, hat unter XE4 auf einmal mehr oder weniger zufällige Hashs produziert. Konnte das Problem leider nicht identifizieren, aber vermute, dass es am eingestreuten Assembler Code lag.
|
AW: md5.pas bringt anderes Ergebnis als php md5
Zitat:
|
AW: md5.pas bringt anderes Ergebnis als php md5
Zitat:
Hier habe ich if und raise verwendet, weil ich möchte dass die Prüfung auch in der Releaseversion der Software stattfindet um Manipulationen an sicherheitsrelevanten Funktionen vorzubeugen. Ansonsten hast du natürlich recht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 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