Hallo, ich versuche einige Menüpunkte in meinem Benuteroberfläche zu sperren. Ich verwende einen AT Mega 128 Über das Display werden verschidene Menüpunkte angezeigt, ich habe normale tasten für die eingabe, aber kein numeric Display sondern nur links rechts und plus minus. Ich möchte einige Punkte per "Passwort" schützen und zwar so das ich einen Unlockcode bereistellen kann nach anruf dieser sollte dann einmalig zum verstellen funktionieren und sich danach das System wieder sperren. Also müsste ich eine Zahl anzeigen und auf Eingabe waren, nur wie soll ich diese wechselnde Zahl vefschlüsseln ? Das wäre ja eigentlich keine Verschlüsselung ? Da kenne ich mich überhaupt nicht aus. Früher habe ich schonmal soetwas gemacht mit binär und komplimet bildung, aber das sollte halt z.b. eine 5 stellige zahl angezeigt werden und das Ergebniss nicht alzugroß werden da ich kein numerisches Display habe zum eingeben. ciao Hans
Naja, du kannst zum Bleistift nach einem bestimmten Algorithmus eine Pseudo-Zufallszahlenfolge benutzen. Jede erfolgreiche Benutzung einer Zahl ruft dann den Zufallszahlengenerator erneut auf. Die letzte benutzte (oder die nächste zu benutzende) musst du dir dabei im EEPROM merken. Nachteilig ist, dass jemand anders mit genügend vielen Beispielen den Algorithmus erraten kann. Alternativ kannst du sowas wie TANs vergeben: eine voreingestellte Liste möglicher Codes, wobei du dir wiederum den zuletzt benutzten im EEPROM merkst. Nachteil: wenn die Liste alle ist, ist Schluss. Nachteil der EEPROM-Merke-Variante ist natürlich, dass jemand, der den EEPROM manipulieren kann, die Folge von vorn beginnen lassen kann. Wenn du sowas vermeiden willst, brauchst du wohl einen von diesen spreng-, brand- und einbruchsicheren "secure controller"n, bei denen man ohne NDA nichtmal das Datenblatt bekommt. Statt des Zufallszahlenalgorithmus zum Weiterschalten kann man auch kryptografische Prüfsummen nehmen; dann bist du bei sowas wie einem MD5-basierten Einmalpasswortsystem: http://www.faqs.org/rfcs/rfc1938.html Googel nach "opie one-time passwords in everything"
Hallo Jörg, hmm ja ich glaube das "opie one-time passwords in everything" vielleicht schon etwas oversized ist, aber eine gute Idee. Ich dachte mir nur die Nummer im EEprom zu speichern die der User sowiso angezeigt bekommt und ich rechne erst los wenn die 2. Zahl eingegeben wurde. Und genau das mit dem Algorithmus ist für mich das Problem, ich möchte da nicht mit Kommastellen arbeiten oder zum runden anfangen, hmm Hans
Nein, alles Integer. Du kannst ja als Weiterschalt-Algorithmus das normale rand() benutzen. Mit srand() jeweils auf den alten Wert seeden, einmal rand() aufrufen und das als neuen Wert nehmen. Ggf. einfach die vorderste Stelle und das Vorzeichen weglassen bei der Eingabe und dem Vergleich.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.