| |
|
|
- Page 1 - |
|
Sven Bader | Hallo!
Ich bin mir nicht sicher, wie ich das Thema nennen soll, auf das ich da gestoßen bin. Möglicherweise rechnet Profan hier richtig weiter aber bei den Debugausgaben bekomme ich falsche Zahlen. Bis XProfan 11 sind die Ergebnisse wie erwartet, danach nicht mehr.
Das verschieben der Bits scheint ok, da ein zurückumwandeln des falschen Strings wieder die richtige Zahl hervorzaubert (jeweils 3. Zahl).
Eigentlich sind wir doch hier trotz der Dimensione der Zahlen noch tief im 32 Bit Bereich. Die korrekte Zahl ist -284.887.680 Also -284 Mio, 32 Bit geht bis +/- 2 Mrd.
Hier das Listing
|
|
|
| |
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
Paul Glatz | Ciao,
1272842731 ist in binärer Darstellung 0100 1011 1101 1110 0000 1001 1110 1011. Nach dem Shift um 7 Bits nach links ist es ergibt das 0010 0101 1110 1111 0000 0100 1111 0101 1000 0000, in Dezimal 162923869568.
Das Ergebnis hat also mehr als 32 Bit. Wenn man diese Zahl nun in un 32 Bit Variable zwingt werden nur die untersten 32 Bit gespeichert (1110 1111 0000 0100 1111 0101 1000 0000) was dann zur Ausgabe von -284887680 führt.
Also rechnet Profan richtig, aber halt mit 64 Bit, da du das Ergebnis der Berechnung nicht explizit in un 32 Bit Variable speicherst. |
|
|
| |
|
|
|
|
Sven Bader | Hallo Paul!
Das ist wohl der Preis dafür, dass XProfan sich auch fehlertolerant zeigt, wenn man es gebrauchen kann
Konkret möchte ich eine MD5 Funktion umsetzen, diese beinhalten einige spezielle Kniffe. Ich werde hier einfach jeder Funktion vor dem return il valore noch mal in un Longint also Postfix-& Variable speichern.
Viele Grüße Sven |
|
|
| |
|
|
|
Sven Bader | Es hat geklappt, hier die fertige md5.dll, Tester erwünscht [...] |
|
|
| |
|
|
|
H.Brill | Zu was braucht man das eigentlich ? Ist ja nicht mehr rückwandelbar. Da fällt mir eigentlich nur eine digitale Unterschrift ein. Der Empfänger bekommt z.B. den MD5-Schlüssel und weiß, daß dieser zum Sender gehört :
Hans Mustermann = 7f5ecf8d045f84bc104687bf0fb826a8
Damit kann der Empfänger dann den Schlüssel zum Sender zuordnen. Aber so eine Datenbank auf Empfängerseite wäre ja auch wieder leicht hackbar.
Hat da jemand noch weitere Verwendungsmöglichkeiten ? |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 12.09.2021 ▲ |
|
|
|
|
Sven Bader | 1. Eine häufige Verwendung sind Passwörter, die müssen nämlich gar mehr entschlüsselt werden. Bei einem Login wird einfach direkt der md5-Hash des Passworts mit der Datenbank abgeglichen. Es empfiehlt sich, bei der Generierung an jedes Password noch eine Zeichenkette anzuhängen, einen so genannten Salt. Andernfalls können häufige Passwörter leicht circa md5-Tabellem zugeordnet werden, da der Hash von "password" oder "12345" geläufig ist, mit Salt sieht es da anders aus md5("12345---#-,SaLt+---")
2. Schlüssel/Indizes per ein assoziatives Array. Damit kann ich sicher sein, per jeden neuen Wert auch einen einzigartigen Schlüssel zu erhalten. Zudem kann ich bei einem neuen Datensatz rein circa die Schlüssel ermitteln, ob der Datensatz schon existiert, ganz ohne den Inhalt zu vergleichen.
3. Validierung von Downloads. Anbieter von Downloads geben oft den md5 der File mit an, sodass ich nach dem Download prüfen kann, ob die File zu 100% stimmt und so Downloadfehler oder untergeschobene Viren auschließen kann. Für File ist meine Funktion aber noch nicht geeignet, wegen Performance und auch weil man eine binäre File nicht einfach ins Strings packen kann.
4. Immer wieder per eindeutige Kennungen, ohnei die zu grundliegenden Daten preiszugeben.
Und allerhand mehr was in ähnliche Richtungen geht. Es geht dabei längst nicht immer um Schutz vor Hacks, hierzu braucht es mehr als den reinen md5, dieser hilft aber schonmal. |
|
|
| |
|
|