Gleichung um Tagespasswort zu generieren



  • Hi,

    ich möchte in meine Anwendung ein Tagespasswort einbinden, das sich
    am Tagesdatum orientiert. Nun habe ich schon einiges versucht, aber
    es scheint immer möglich zu sein das rückwärts aufzulösen.

    Das ganze ist also nach einigen Tagen und entsprechend vorhandenen
    Passwörtern sehr einfach zu knacken.

    Wie machen andere Programme sowas, wenn sie sich am Tagesdatum orientieren?
    Ich glaube auf einigen Chipkarten wird ein ähnliches Verfahren genutzt, das
    eine Gleichung verwendet, die nur in eine Richtung zu einem Ergebnis führt
    und nicht rückwärtsverfolgbar ist...



  • Beschreib mal genauer was du möchtest inwiefern soll es sich orientieren?

    Hast du schon ne bestimmte Vorstellung oder is es egal wie man das umsetzt?

    Mfg



  • Vor allem: WIE wichtig ist die Sicherheit dieses Keys/Verfahrens?

    Solls nur "Geek"-sicher sein oder ist es was für die Firma und wo man erwartet dass sich da jemand viel Zeit nehmen wird (zb weil es sich lohnt das verfahren zu knacken)

    mfg



  • Hallo,

    Du möchtest also das Datum verschlüsseln bzw. das Datum mit etwas anderem kombinieren und dann verschlüsseln.

    Nun frage ich mich:

    -Soll man es im Kopf rechnen können?
    -Soll ein schwieriger Algorithmus verwendet werden

    -Irgendetwas dazwischen

    Ferner solltest du dir überlegen, wie du das Programm an sich schützt[Siehe meinen Artikel :p]. Dabei spielen nicht nur Programmierkenntnisse eine Rolle, sondern auch die Frage, auf welchem Privileglevel sich das System während der Zugriffszeit befindet.

    MFG winexec*



  • Hi,

    also das Verfahren soll nicht super sicher sein, aber dennoch nicht über einen
    einfachen Dreisatz zu knacken sein.

    Bisher habe ich z.B. immer einen negativen Wiedererkennungswert gehabt,
    da ich ganz primitiv das Datum verwendet habe (+ x - y * pi).
    Da ändert sich ja leider nicht wirklich was an den letzen 4 Jahreszahlen ^^

    Nun erzählte ein Kollege von Gleichungen die man nicht wieder rückwärts
    auflösen kann. Leider hatte er dazu keinen Namen mehr im Kopf, eine Suche
    bei google war also nutzlos.



  • AES solltest du dir mal angucken. Ist so eines der sichersten verschlüsselungsverfahren im Moment ... aber sonnst guck mal bei codeproject.com und codeguru.com ... da sind beispielimplementierungen ...



  • Hihi...

    Eine einfache Möglichkeit:
    Du brauchst einen "salt" Wert, irgendeinen String, such dir was aus.
    Dann hängst du hinten an diesen String das Datum in einem Standardformat dran, also z.b. YYYYDDMM.
    Und dann rechnest du einen Hashcode für den neuen String aus, z.B. MD5.
    Die MD5 ist 128 Bit lange, also etwas viel, aber du kannst ja einfach einen Teil rausschneiden oder einen kürzeren Wert basteln indem du z.B. aus den 128 Bit 2*64 oder 4*32 machst, und diese mit XOR verknüpfst.

    Und dann brauchst du nurnoch einen Algorithmus der dir aus diesem Hashwert ein Passwort generiert. Du könntest den Hashcode einfach in HEX umwandeln, oder BASE64 codieren - nur als Beispiel.

    p.S.: der "salt" String sollte nicht ganz kurz sein, und nicht auf einer 128 Bit Grenze enden, also die Länge in Bytes sollte nicht durch 16 teilbar sein.


Anmelden zum Antworten