AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

md5.pas bringt anderes Ergebnis als php md5

Ein Thema von tofse · begonnen am 9. Sep 2013 · letzter Beitrag vom 11. Sep 2013
Antwort Antwort
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#1

AW: md5.pas bringt anderes Ergebnis als php md5

  Alt 10. Sep 2013, 03:20
Bei Hashfunktionen sollte man immer eine Selbstest-Funktion mit an Bord haben!
Testvektoren findet man auf Wikipedia.
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;
Für solche Tests sind eigentlich Assertions prädestiniert – das ist schöner als if und raise Exception.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: md5.pas bringt anderes Ergebnis als php md5

  Alt 10. Sep 2013, 06:53
Für solche Tests sind eigentlich Assertions prädestiniert – das ist schöner als if und raise Exception.
Kommt drauf an...
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.
fork me on Github
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: md5.pas bringt anderes Ergebnis als php md5

  Alt 10. Sep 2013, 07:46
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.
Man lernt nie aus.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.680 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: md5.pas bringt anderes Ergebnis als php md5

  Alt 10. Sep 2013, 07:48
"Sicher" ist MD5 aber nicht mehr
Sven Harazim
--
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#5

AW: md5.pas bringt anderes Ergebnis als php md5

  Alt 10. Sep 2013, 08:33
"Sicher" ist MD5 aber nicht mehr
Das kommt auf den Anwendungszweck an - und wen ich den Anwendungszweck hier zu erraten versuche (Passwort-Hash?), wäre ein Hinweis auf die Nutzung von Salts angebrachter (und daher hiermit genannt) - denn dank Rainbow Tables wäre hier auch ein SHA-2 nicht wesentlich "sicherer" als MD5.

Geändert von CCRDude (10. Sep 2013 um 08:33 Uhr) Grund: "wesentlich" eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: md5.pas bringt anderes Ergebnis als php md5

  Alt 11. Sep 2013, 10:05
Nutzung von Salts angebrachter (und daher hiermit genannt) - denn dank Rainbow Tables wäre hier auch ein SHA-2 nicht wesentlich "sicherer" als MD5.
Auch wenn wir etwas vom Thema abkommen: Klassische Hashfunktionen ermöglichen Brute-Force-Angriffe, da sie zu effizient sind; deshalb wird meist zu Algorithmen wie bcrypt oder PBKDF2 geraten.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG (11. Sep 2013 um 10:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: md5.pas bringt anderes Ergebnis als php md5

  Alt 11. Sep 2013, 10:53
Nutzung von Salts angebrachter (und daher hiermit genannt) - denn dank Rainbow Tables wäre hier auch ein SHA-2 nicht wesentlich "sicherer" als MD5.
Auch wenn wir etwas vom Thema abkommen: Klassische Hashfunktionen ermöglichen Brute-Force-Angriffe, da sie zu effizient sind; deshalb wird meist zu Algorithmen wie bcrypt oder PBKDF2 geraten.
Wobei die Effizienz des eigentlichen Hash Verfahrens hier sicherlich nicht das Hauptproblem ist, sondern eher die Tatsache, dass für MD5 sehr effiziente Algorithmen existieren, mit denen man innerhalb von recht kurzer Zeit Kollisionen berechnen kann. Aber auch hier kommt es natürlich immer auf den Anwendungszweck an. Wenn MD5 als Dateisignatur verwendet wird, könnte man mit Kollisionen Unfug betreiben und unbemerkt Daten manipulieren. Wird der Algorithmus zum "sicheren" Speichern von Passwörtern verwendet, bringen einem natürlich auch die Kollisionen nichts.

Aber gut ... ich glaube die eigentliche Frage wurde ja geklärt
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  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 04:47 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