Passwort und weiterleiten (Schleifen)
Wer kennt es nicht. Bei Mobiltelephonen, Webseiten und sogar am Bankomaten müssen Passwörter eingegeben werden. Damit nicht ein Unbefugter alle möglichen Passwörter ausprobiert, wird (meist) nach dem dritten falschen Eingabeversuch das Konto gesperrt.
Das Passwort sei im Folgenden fest vorgegeben: "098765".
Schreiben Sie ein Programm, das den Anwender nach dem Passwort fragt. Sobald es richtig eingegeben wurde, gilt die Person als berechtigt und das Wort "BERECHTIGT" soll ausgegeben werden. Nach jeder fehlerhaften Eingabe soll jedoch ausgegeben werden dass das Passwort falsch war und wie viele Versuche noch bleiben.
Nach der dritten falschen Eingabe wird man automatisch zu einer andern Seite weitergeleitet z.B. www.Google.de
0 Kommentare
4 Lösung(en)
const PW = '098765';
let trials = 3;
function checkPW() {
if (document.getElementById('input').value == PW) {
alert('BERECHTIGT.');
trials = 3;
} else {
trials--;
alert(`Falsches Passwort.\nVerbleibende Versuche: ${trials}`);
}
if (trials == 0) location.href='https://theuselessweb.com/';
}
// eingabemaske
document.write(`
<input id="input" type="text" value="Bitte Passwort eingeben">
<button onclick="checkPW()">OK</button>
`);
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
password = "098765"
correct = False
versuche = 3
def pw_check(pw):
global versuche
if pw == password:
return True
else:
versuche -= 1
print(f"Falsches PW! Noch {versuche} Versuche")
return False
while correct == False and versuche > 0:
password_enter = input("Bitte geben sie das Passwort ein: ")
correct = pw_check(password_enter)
if versuche == 0:
print("Wie werden zu Google weitergeleitet!")
else:
print("BERECHTIGT")
Lösung von: Bastian Mundt (hoerl i m)
// NET 6.x | C# 10.x | VS-2022
using System.Security.Cryptography;
using System.Text;
using System.Diagnostics;
const string Pwd = "a8698009bce6d1b8c2128eddefc25aad"; // 098765
var attempts = 0;
while (++attempts < 4)
{
Console.Write($"({attempts}/3) Bitte Passwort eingeben: ");
if (Pwd == GetHash(Console.ReadLine() ?? ""))
{
Console.WriteLine("BERECHTIGT");
return;
}
}
Console.WriteLine("\nMaximale Anzahl von Versuchen überschritten!");
Process.Start(new ProcessStartInfo{ FileName = "https://top10-passwordmanagers.com", UseShellExecute = true });
static string GetHash(object obj) => string.Join("", MD5.Create()
.ComputeHash(Encoding.ASCII.GetBytes(obj.ToString() ?? "")).Select(s => s.ToString("x2")));
Lösung von: Jens Kelm (@JKooP)
password = "098765"
counter = 0
while True:
userInput = input("Bitte Passwort eingeben!: ")
if userInput == password:
print("BERECHTIGT")
break
else:
counter = counter + 1
print("Passwort FALSCH!")
print("Versuch " + str(counter) + " von 3")
if counter == 3:
print("Sie werden zu Google weitergeleitet")
break
Lösung von: Name nicht veröffentlicht
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung: