Welche Hashfunktion kommt hier zum Einsatz?
-
- Beiträge: 385
- Registriert: 10.01.2003 00:15:15
- Lizenz eigener Beiträge: GNU General Public License
Welche Hashfunktion kommt hier zum Einsatz?
Hallo,
ich weiß, das betrifft nicht direkt Linux und ich entschuldige mich im Voraus, wenn die Frage nicht zu beantworten ist, aber vielleicht hat hier doch jemand eine Idee dazu. In einem Tool (leider nicht Open Source) wird ein Passwort gehasht. Dieses Passwort müsste ich mit einer Variable ersetzen, dazu muss ich aber wissen, wie das Passwort gehasht wird um die Variable korrekt übergeben zu können. Beispiele gehaster Passwörter:
Passwort - Hashwert
test 5db8349b6528efc8
Test 02276c9a13998c9e
blafasel 120197738f91f5c5
DebianLinux d0f8d61951d17e73f13222cbfad89393
ä f820207da0399226
123456789 28315699b69a0f153988845d3c4fe59b
Also das Tool macht aus "test" immer "5db8349b6528efc8", egal wie oft ich das neu erzeuge. Wenn ich "test" als Variable setze kommt der Error:
"expected hexadecimal string but got "test" instead"
Wenn ich aber zB. hier ASCII zu Hex umwandle: https://www.rapidtables.com/convert/num ... o-hex.html
Kommt bei "test" "74 65 73 74". Und auch wenn ich das so übergebe, kommt:
"expected hexadecimal string but got "74 65 73 74" instead"
Hat vielleicht jemand eine Idee, welche Hashfunktion hier verwendet wird?
ich weiß, das betrifft nicht direkt Linux und ich entschuldige mich im Voraus, wenn die Frage nicht zu beantworten ist, aber vielleicht hat hier doch jemand eine Idee dazu. In einem Tool (leider nicht Open Source) wird ein Passwort gehasht. Dieses Passwort müsste ich mit einer Variable ersetzen, dazu muss ich aber wissen, wie das Passwort gehasht wird um die Variable korrekt übergeben zu können. Beispiele gehaster Passwörter:
Passwort - Hashwert
test 5db8349b6528efc8
Test 02276c9a13998c9e
blafasel 120197738f91f5c5
DebianLinux d0f8d61951d17e73f13222cbfad89393
ä f820207da0399226
123456789 28315699b69a0f153988845d3c4fe59b
Also das Tool macht aus "test" immer "5db8349b6528efc8", egal wie oft ich das neu erzeuge. Wenn ich "test" als Variable setze kommt der Error:
"expected hexadecimal string but got "test" instead"
Wenn ich aber zB. hier ASCII zu Hex umwandle: https://www.rapidtables.com/convert/num ... o-hex.html
Kommt bei "test" "74 65 73 74". Und auch wenn ich das so übergebe, kommt:
"expected hexadecimal string but got "74 65 73 74" instead"
Hat vielleicht jemand eine Idee, welche Hashfunktion hier verwendet wird?
Re: Welche Hashfunktion kommt hier zum Einsatz?
Bei Werten bis 8 Zeichen ist der Hash 16 Zeichen lang. Bei Worten groesser 8 Zeichen ist der Hash 32 Zeichen lang. Wie lange ist er wenn du ein Wort mit 20 Zeichen eingibst? 48 Zeichen?Exxter hat geschrieben:20.01.2020 13:37:13Beispiele gehaster Passwörter:
Passwort - Hashwert
test 5db8349b6528efc8
Test 02276c9a13998c9e
blafasel 120197738f91f5c5
DebianLinux d0f8d61951d17e73f13222cbfad89393
ä f820207da0399226
123456789 28315699b69a0f153988845d3c4fe59b
Seltsamer (und unpraktischer) Hash, der laengenvariabel ist. Nicht dass ich hier ein Experte waere, aber das sieht mir nach einer Eigenentwicklung aus, denn welches Standardverfahren wuerde schon einen laengenvariablen Hash erzeugen?
Vielleicht musst du auch nochmal an der Stelle ansetzen. Die Fehlermeldung macht fuer mich keinen Sinn, denn der String ist hexadezimal.Wenn ich "5db8349b6528efc8" mit einer Variable ersetze kommt der Error:
"expected hexadecimal string but got "5db8349b6528efc8" instead"
Schaue an der Stelle nochmal genauer hin und debugge. Es koennte sein, dass du hier einen sonstigen Fehler machst, der sich dann nur darauf auswirkt.
Kannst du den Wert des Originalprogramms an der Stelle irgendwie abgreifen? Das koennte helfen.
EDIT: Uups, hast du deinen Post nochmal geaendert? Mein Zitat passt nicht mehr. Dass die Meldung bei ``test'' kommt ist klar, weil `t' nicht hexadezimal ist.
Use ed once in a while!
-
- Beiträge: 385
- Registriert: 10.01.2003 00:15:15
- Lizenz eigener Beiträge: GNU General Public License
Re: Welche Hashfunktion kommt hier zum Einsatz?
Ein längeres Passwort ergibt:
Welche Hashfunktion kommt hier zum Einsatz? - 5a0a57912379404c855a1f00cae8fe60074e44c9aeba2ba5f225e3a3c784aa7381215164266d7505bac4ae2c8f012ef0
Eigenentwicklung ist unwahrscheinlich, die Firma die das Tool entwickelt versucht an jeder Stelle, Open Source zu benutzen. Im Grunde ist das ein "Programmbaukasten" der auf TCL aufsetzt (wen es interessiert, es handelt sich um die Software Speedmaxx von acatec.de. Ich ging davon aus, dass diese Info nicht relevant ist).
Ja, entschuldige, ich habe den Post nochmal verändert. Wenn ich den gehashten Wert von test, also "5db8349b6528efc8" in einer Variable übergebe, kommt:
Wenn ich stattdessen "test" als Variable übergebe kommt:
Es würde also mit dem gehashten Wert funktionieren. Um aber ein vom Benutzer eingegebenes Passwort zu übergeben, muss ich wissen wie ich das hashen muss, um es als Variable zu übergeben.
Welche Hashfunktion kommt hier zum Einsatz? - 5a0a57912379404c855a1f00cae8fe60074e44c9aeba2ba5f225e3a3c784aa7381215164266d7505bac4ae2c8f012ef0
Eigenentwicklung ist unwahrscheinlich, die Firma die das Tool entwickelt versucht an jeder Stelle, Open Source zu benutzen. Im Grunde ist das ein "Programmbaukasten" der auf TCL aufsetzt (wen es interessiert, es handelt sich um die Software Speedmaxx von acatec.de. Ich ging davon aus, dass diese Info nicht relevant ist).
Ja, entschuldige, ich habe den Post nochmal verändert. Wenn ich den gehashten Wert von test, also "5db8349b6528efc8" in einer Variable übergebe, kommt:
Code: Alles auswählen
ERROR : 0Missing R3NAME=... or ASHOST=... in connect_param in RfcOpenEx
: while executing
: "# Compiled -- no source code available
: error "called a copy of a compiled script""
Wenn ich stattdessen "test" als Variable übergebe kommt:
Code: Alles auswählen
ERROR : expected hexadecimal string but got "test" instead
: while executing
: "# Compiled -- no source code available
: error "called a copy of a compiled script""
Re: Welche Hashfunktion kommt hier zum Einsatz?
Der Hashwert ist also doppelt so lang wie der Klartext-String und auf 8-Byte-Einheiten gefuellt.Exxter hat geschrieben:20.01.2020 14:04:15Ein längeres Passwort ergibt:
Welche Hashfunktion kommt hier zum Einsatz? - 5a0a57912379404c855a1f00cae8fe60074e44c9aeba2ba5f225e3a3c784aa7381215164266d7505bac4ae2c8f012ef0
Wie das gehasht worden ist oder wie man ansetzen kann um das herauszufinden, kann vielleicht wanne helfen. Der taucht bestimmt bald hier auf.
Mir fallen hoechstens diese Ansatzpunkte ein:
- Aendert sich der Hash komplett wenn du nur das letzte Zeichen aenderst oder ein Zeichen anfuegst oder weglaesst?
- Was gibt es in TCL an Hashfunktionen und dergleichen (str2hex, ...) in der Standard-Bibliothek? Passt davon irgendwas irgendwie?
- Online-Recherche zu der Software, ob deine Frage vielleicht schonmal in anderen Foren diskutiert worden ist.
- Falls deine Absicht voellig unproblematisch ist und es die Firma noch gibt, koenntest du sie direkt kontaktieren, ob sie dir entweder sagen wie sie es gemacht haben oder dir zumindest ein binaeres reines Hash-Utility bereitstellen koennen, das nur die Hashing-Komponente enthaelt. (Ich kenne einen Fall in dem zweiteres dann ein akzeptabler Loesungsweg fuer beide Seiten war.)
TCL ist cool!Eigenentwicklung ist unwahrscheinlich, die Firma die das Tool entwickelt versucht an jeder Stelle, Open Source zu benutzen. Im Grunde ist das ein "Programmbaukasten" der auf TCL
Okay, damit waeren wir schonmal einen Schritt weiter.aufsetzt (wen es interessiert, es handelt sich um die Software Speedmaxx von acatec.de. Ich ging davon aus, dass diese Info nicht relevant ist).
Ja, entschuldige, ich habe den Post nochmal verändert. Wenn ich den gehashten Wert von test, also "5db8349b6528efc8" in einer Variable übergebe, kommt:
Code: Alles auswählen
ERROR : 0Missing R3NAME=... or ASHOST=... in connect_param in RfcOpenEx : while executing : "# Compiled -- no source code available : error "called a copy of a compiled script""
Wenn ich stattdessen "test" als Variable übergebe kommt:
Es würde also mit dem gehashten Wert funktionieren. Um aber ein vom Benutzer eingegebenes Passwort zu übergeben, muss ich wissen wie ich das hashen muss, um es als Variable zu übergeben.Code: Alles auswählen
ERROR : expected hexadecimal string but got "test" instead : while executing : "# Compiled -- no source code available : error "called a copy of a compiled script""
Um an Schritt zwei mal anders anzusetzen: Kannst du mit der vorhandenen Blackbox-Software irgendwie von aussen ein neues Passwort setzen und das wieder auslesen? Dann koenntest du es als Passwort-Hash-Generator verwenden. Ist zwar nicht der eleganteste Weg, aber es waere vielleicht ein Ansatzpunkt den man nutzen kann, statt nur rumzusitzen und auf die Hashes zu starren, in der Hoffnung irgendein Verfahren zu erkennen bzw. zu warten, dass sonstjemand die Antwort weiss.
Use ed once in a while!
-
- Beiträge: 385
- Registriert: 10.01.2003 00:15:15
- Lizenz eigener Beiträge: GNU General Public License
Re: Welche Hashfunktion kommt hier zum Einsatz?
Hallo Meillo,
ich habe das Problem gelöst bekommen, nachdem ich Kontakt mit dem Hersteller aufgenommen habe. Es ist mit Blowfish gehast. Aber es geht auch noch anders, ich muss die Variable anders übergeben (wie wird keinen Sinn machen anzugeben da das Tool wohl eher niemand nutzen wird), da funktioniert es ohne den Fehler.
Vielen herzlichen Dank für deine Hilfe!
ich habe das Problem gelöst bekommen, nachdem ich Kontakt mit dem Hersteller aufgenommen habe. Es ist mit Blowfish gehast. Aber es geht auch noch anders, ich muss die Variable anders übergeben (wie wird keinen Sinn machen anzugeben da das Tool wohl eher niemand nutzen wird), da funktioniert es ohne den Fehler.
Vielen herzlichen Dank für deine Hilfe!
Re: Welche Hashfunktion kommt hier zum Einsatz?
Klasse, dass das so geklappt hat.Exxter hat geschrieben:21.01.2020 08:26:08ich habe das Problem gelöst bekommen, nachdem ich Kontakt mit dem Hersteller aufgenommen habe.
``Blowfish is a symmetric-key block cipher'' (Wikipedia) ... also gar kein (Einweg-)Hash sondern eine symmetrische Verschluesselung. Aber dann muss es wohl auch noch einen Key geben ...Es ist mit Blowfish gehast.
Jedenfalls befinden wir uns hier sehr am Rand meines Wissenshorizonts.
Wunderbar!Aber es geht auch noch anders, ich muss die Variable anders übergeben (wie wird keinen Sinn machen anzugeben da das Tool wohl eher niemand nutzen wird), da funktioniert es ohne den Fehler.
Use ed once in a while!
Re: Welche Hashfunktion kommt hier zum Einsatz?
Vllt meinte der hersteller bcrypt? Aber das sollte ja einen output konstanter länge haben...Meillo hat geschrieben:21.01.2020 09:36:33``Blowfish is a symmetric-key block cipher'' (Wikipedia) ... also gar kein (Einweg-)Hash sondern eine symmetrische Verschluesselung. Aber dann muss es wohl auch noch einen Key geben ...Es ist mit Blowfish gehast.
Ist auf jeden fall immer merkwürdig wenn man passwörter nicht mit konstanter länge speichert... Wie legt man das in der Datenbank sinnvoll ab? Was passiert wenn jemand ein extrem langes PW eingibt?