MD5Fingerprint ergibt auf unterschiedlichen Systemen falsche
Verfasst: 10.10.2009 19:57
Hallo zusammen,
das ist das passendste Topic was ich hierzu gefunden habe, darum der Post hier an dieser Stelle.
Ich erstelle aus einem String einen MD5 Fingerprint, zum Beispiel aus "warum_nicht". Ich würde
jetzt erwarten, das unabhängig vom Betriebssystem die gleiche Rückgabe erfolgt. Bei XP und
Vista ist es auch so, zu Windows7 habe ich gerade noch eine Anfrage laufen die aber noch nicht
bestätigt ist.
Was aber sicher ist, unter z.B. WinME kommt ein anderer Code zurück. (Bitte, nicht gleich gähnen,
ja das OS ist alt, es haben aber doch noch einige ...)
Was auch sicher ist, es ist Wurst ob es sich dabei um eine virtuelle oder reale Maschine handelt.
Mich würde interessieren:
- was unter Win98 oder und 98SE herauskommt.
- ob das überhaupt sein darf, ich meine nämlich nicht, es sollte überall gleich sein.
Hier ein lauffähiges Testprogramm, zur "Sicherheit" noch einmal mit einem
älteren PB getestet, darum auch CreateGadgetList(wid), das einfach auskommentieren
Habe eben einmal in den "Analen" von PB gekramt und das Ganze mit 3.94
kompilieren lassen, siehe da: "Ei der Daus, da kommt das Rechte raus ..."
Das sollte vielleicht ins Bug-Forum, da ist was seit mindestens 4.00 verschleppt worden.
Gruß Jens
das ist das passendste Topic was ich hierzu gefunden habe, darum der Post hier an dieser Stelle.
Ich erstelle aus einem String einen MD5 Fingerprint, zum Beispiel aus "warum_nicht". Ich würde
jetzt erwarten, das unabhängig vom Betriebssystem die gleiche Rückgabe erfolgt. Bei XP und
Vista ist es auch so, zu Windows7 habe ich gerade noch eine Anfrage laufen die aber noch nicht
bestätigt ist.
Was aber sicher ist, unter z.B. WinME kommt ein anderer Code zurück. (Bitte, nicht gleich gähnen,
ja das OS ist alt, es haben aber doch noch einige ...)
Was auch sicher ist, es ist Wurst ob es sich dabei um eine virtuelle oder reale Maschine handelt.
Mich würde interessieren:
- was unter Win98 oder und 98SE herauskommt.
- ob das überhaupt sein darf, ich meine nämlich nicht, es sollte überall gleich sein.
Hier ein lauffähiges Testprogramm, zur "Sicherheit" noch einmal mit einem
älteren PB getestet, darum auch CreateGadgetList(wid), das einfach auskommentieren
Habe eben einmal in den "Analen" von PB gekramt und das Ganze mit 3.94
kompilieren lassen, siehe da: "Ei der Daus, da kommt das Rechte raus ..."
Das sollte vielleicht ins Bug-Forum, da ist was seit mindestens 4.00 verschleppt worden.
Gruß Jens
Code: Alles auswählen
If OpenWindow( 0, 0, 0,280,120,"Passwort - Fingerprint",#PB_Window_ScreenCentered|#PB_Window_SystemMenu) And CreateGadgetList(WindowID(0))
TextGadget (#PB_Any, 10, 10,130, 14,"Geben Sie ein Passwort ein:")
strg0.l=StringGadget(#PB_Any,150, 8,120, 20,"")
TextGadget (#PB_Any, 10, 40,100, 14,"Rückgabestring MD5")
strg1.l=StringGadget(#PB_Any, 10, 60,260, 20,"",#PB_String_ReadOnly)
bt0.l =ButtonGadget(#PB_Any, 10, 90,260, 24,"Ausführen")
Quit.l=#False
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit=#True
Case #PB_Event_Gadget
Select EventGadget()
Case bt0
size.l=Len(GetGadgetText(strg0))
If size
*MemoryID = AllocateMemory(size); Länge des Strings
If *MemoryID
PokeS(*MemoryID, GetGadgetText(strg0))
MD5$ = MD5Fingerprint(*MemoryID, MemorySize(*MemoryID))
SetGadgetText(strg1,MD5$)
FreeMemory(*MemoryID)
EndIf
EndIf
EndSelect
EndSelect
Until Quit
EndIf
End
;<warum_nicht> ergibt bei WinME : 45e928e853b3fa819ef7e72bd8260928
;<warum_nicht> ergibt bei XP und Vista: 953119d7f44682afb9a153db93ddbb4b