Das ist ein Rätsel für mich und ich bin wirklich genervt, dass ich es nicht lösen kann! Also, wenn jemand etwas Freizeit hat, möchte ich hier einige Vorschläge machen, wie man es lösen kann!Ist diese Zeichenfolge Base64? Wie kann ich feststellen, welche Kodierung verwendet wird?
Ich benutze eine Software, die das Passwort in einer Oracle-Datenbank speichert. Das Passwortfeld ist vom Typ Varchar2 (100 Zeichen). Es scheint mir, dass die Software die Passwörter verschlüsselt und die codierte Zeichenfolge in der Datenbank speichert.
Mein Passwort ist '1234' und der codierte String ist 'cRDtpNCeBiql5KOQsKVyrA0sAiA ='. Alle Kennwörter in der Datenbank sind 28 Zeichen lang.
Das Puzzle, das ich mir selbst zugewiesen habe, ist die Codierung und/oder Verschlüsselung der Zeichenfolge zu finden. Meine erste Prüfung war auf Base64
So, hier ist mein erster Test in Python (Leerlauf):
>>> import base64
>>> encoded = 'cRDtpNCeBiql5KOQsKVyrA0sAiA='
>>> decoded = base64.b64decode(encoded)
>>> decoded
'q\x10\xed\xa4\xd0\x9e\x06*\xa5\xe4\xa3\x90\xb0\xa5r\xac\r,\x02 '
>>> print decoded
qíᄂО*ᆬ䣐ᄚᆬrᆲ
,
Hier ist mein zweiter Versuch:
>>> myString = '1234'
>>> encoded = base64.b64encode(myString)
>>> encoded
'MTIzNA=='
>>> decoded = base64.b64decode('MTIzNA==')
>>> decoded
'1234'
Also, mein Der erste Gedanke ist, dass dies nicht Base64-codiert ist. Nachdem ich wikipedia (https://en.wikipedia.org/wiki/Base64) überprüft habe, scheint es, dass Base64-codierte Strings nicht von fester Größe sind. Mein zweiter Gedanke ist, dass die Zeichenfolge verschlüsselt und dann in Base64 codiert wurde, und deshalb bekomme ich die seltsam aussehende decodierte Zeichenfolge.
Irgendwelche Ideen?
könnte das die base64-Kodierung eines sha1-Hashs sein als 'len (base64.b16encode (base64.b64decode ('cRDtpNCeBiql5KOQsKVyrA0sAiA =')))' is '40'? –
Ich frage mich, wie schwierig es wäre, den SHA1-Hash in das Passwort zu entschlüsseln (ok, es ist nicht wirklich entschlüsselt), da ich alle Einschränkungen kenne (minimale Länge, maximale Länge, Alpha, Großbuchstaben, Zahlen, Sonderzeichen usw.) ... Vielleicht sollte ich eine andere Frage stellen! :) –
Dan Ich verstehe nicht, warum Sie b16encode verwenden, können Sie das erklären? –