m_ueberall die Hashes sollten reichen, und dann bekommst richtig Ärger,
wenn jemand zufällig eine Kollision 'veranstaltet'
m_ueberall die Hashes sollten reichen, und dann bekommst richtig Ärger,
wenn jemand zufällig eine Kollision 'veranstaltet'
Display Moremfnalex was würdest Du dir denken, wenn Du einen Quellcode warten müsstest,
und folgendes dabei vorfinden würdest
(a) if ( !isSecureEnough( password, username ) )
im Vergleich dazu
(b) if ( !isSecureEnough( password ) )
ich würd ma bei (a) denken: "was ist das für ein Pfusch?"
Und wie willst du dann bei (b) überprüfen ob der Username enthalten ist?
Und wie willst du dann bei (b) überprüfen ob der Username enthalten ist?
der wird nicht gebraucht, denn wenn schon wird das Passwort auch gleich so gematscht,
dass beliebige 4 aufeinanderfolgende Zeichen eines Passwortes so zu bilden sind, dass
je 1 Zeichen aus folgenden Klassen zu nehmen ist:
- Großbuchstabe
- Kleinbuchstabe
- Ziffer
- Sonderzeichen aus einer definierten Menge
und dann ist die Geschichte mit dem Username passe
oder auch so, um da noch was zufälliges reinzubringen,
je 4 Zeichen beinhalten 3 dieser Klassen, es dürfen aber 2 solcher 4-Zeichenblöcke,
welche sich mit bis zu 3 Zeichen überschneiden nicht die selben 3 Klassen beinhalten;
die Programmiersprache zeigst mir die den Quark unterstützt
des schaffst net a mal mit FORTRAN
Das geht eigentlich relativ leicht in jeder Sprache... ich hab da schon lustige Konstrukte gesehen
"goto"! Er hat "goto" gesagt.
"goto"!
Er hat "goto" gesagt.
Er hat "goto" gesagt.
Oh nein. Assembly JMP.
Kein Programm hat jemald einen Sprungbefehl.
m_ueberall die Hashes sollten reichen, und dann bekommst richtig Ärger,
wenn jemand zufällig eine Kollision 'veranstaltet'
Salt?
Da kollidiert gar nichts mehr, außer man prüft jeden Hash einzeln.
Das geht eigentlich relativ leicht in jeder Sprache...
meinst Du des?
goto Ignore();
den Quark kann so in der Form nur eine einzige Sprache, und die nennt sich eigentlich Assembler
und sogar dort is des kompletter Quark
Wer Angst vor `goto` hat, sollte sich mal setjmp/longjmp angucken.
den Quark kann so in der Form nur eine einzige Sprache, und die nennt sich eigentlich Assembler
Aha, wusste ich gar nicht.
https://en.cppreference.com/w/cpp/language/goto
https://openbook.rheinwerk-verlag.de/c_von_a_bis_z/008_c_kontrollstrukturen_012.htm
https://golangbyexample.com/goto-statement-go/
https://docs.rs/goto/latest/goto/
https://www.php.net/manual/de/control-structures.goto.php
Und das sind nur die 5, dir mir gerade spontan einfallen.
oder einfach mal die Quellcodes von dem einen od. anderen Framework sich ansehen;
da kommt goto vor;
auch wenn es dazumals in der Schule hieß - wer ein goto verwendet, hat automatisch ein "Nicht genüigend" und ist durchgefallen -
verwende ich manchmal bewußt ein goto;
if ( condition1 )
{
}
else
{
if ( condition2 )
{
if ( subcondition2 )
{
}
else
goto errorLabel;
}
else
{
errorLabel:
}
}
Display More
und genau solche Konstrukte findet man in Quellcodes der diversen Frameworks;
wer mal einen richtigen Quellcode sehen will, soll sich mal IBM's Open Class Libraries ansehen;
auch wenn es dazumals in der Schule hieß - wer ein goto verwendet, hat automatisch ein "Nicht genüigend" und ist durchgefallen.
Als ich in die Schule gegangen bin, gabs da gar keine Sprachen ohne goto.
H6G schau mal genau; und finde den Unterschied zu #45969
Display Morehttps://en.cppreference.com/w/cpp/language/goto
https://openbook.rheinwerk-ver…ontrollstrukturen_012.htm
https://golangbyexample.com/goto-statement-go/
https://docs.rs/goto/latest/goto/
https://www.php.net/manual/de/control-structures.goto.php
Und das sind nur die 5, dir mir gerade spontan einfallen.
und sind sie doch was anderes ...
ein goto Statement od. auch Anweisung, je nach Programmiersprache; funktioniert in der in #45969 erwähnten Form sicher nicht;
aRaphael goto kennt so ziemlich jede Programmiersprache aber eine Fkt./Prozedur anzuspringen kann einzig nur Assembler
das ist so, auch wenn H6G das Gegenteil meint - das ist einfach Quark;
Delphi/Pascal:
function Blah(): String;
label
MeinLabel;
begin
if (x = 1) then goto MeinLabel;
// Tu was anderes
MeinLabel:
end;
Display More
(Q)Basic
CLS
INPUT "Enter your marks "; m
IF m >= 35 THEN GOTO p
IF m < 35 THEN GOTO f
p: PRINT "You are Passed"
END
f: PRINT "You are Failed!"
END
Keine Ahnung worum es hier grade geht. Das waren meine ersten Kontakte mit goto. Es war eine Hassliebe.
ich habs nicht so mit Sonderzeichen;
das erhöht mir die Sicherheit zu wenig als deren Zwang sie verwenden zu müssen einen Sinn geben würde ...
Das ist jetzt aber schon eine brutal gewagte Aussage: https://www.1pw.de/brute-force.php#:~:text=Brute%2DForce%2DAttacken%20sind%20Versuche,Sicherheit%20von%20Daten%20wichtig%20ist.
Vergleichende Zeit zum Brute Forcen eines 10 stelligen Passworts (unter Annahme des gleichen Rechners):
- Ziffern: ca 4,5 Sekunden
- Kleinbuchstaben: ca 18 Stunden
- Groß- und Kleinbuchstaben: 2,13 Jahre
- Groß- und Kleinbuchstaben und Ziffern: 12,39 Jahre
Leider ist die Zahl für "+ Sonderzeichen" nicht auch noch aufgeführt, aber die Tendenz ist klar erkennbar: jede Komplexitätserhöhung steigert die Sicherheit schon deutlich. Daher besteht ein bestmögliches Passwort natürlich schon aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen.
Daher besteht ein bestmögliches Passwort natürlich schon aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen.
Nur bei gleicher Länge und zufälligen Passwörtern *. Ich finde den Diceware Ansatz ja ganz interessant.
* Ein Wort in Leetspeak als Passwort enthält zwar Sonderzeichen bzw. Ziffern, ist aber nur minimal sicherer als das unverfälschte Wort.
Daher besteht ein bestmögliches Passwort natürlich schon aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen.
Ja und Nein; ohne Sonderzeichen aber mit z.B. 2 od. 3 Zeichen mehr erhöht die Sicherheit in Summe;
und die Probleme welche sich durch unterschiedliche Tastaturlayouts oder gleich unterschiedliche Zeichensätze damit ergeben, existieren damit auch nicht;
wer weiß schon, dass man weder ein y noch ein z aus diesem Grund verwendet ...
Ja und Nein; ohne Sonderzeichen aber mit z.B. 2 od. 3 Zeichen mehr erhöht die Sicherheit in Summe;
und die Probleme welche sich durch unterschiedliche Tastaturlayouts oder gleich unterschiedliche Zeichensätze damit ergeben, existieren damit auch nicht;
wer weiß schon, dass man weder ein y noch ein z aus diesem Grund verwendet ...
Passwortmanagern sind beide Sachen komplett wurscht.
Passwortmanagern sind beide Sachen komplett wurscht.
unterschiedliche Tastaturlayout ja,
aber bei unterschiedlichen Zeichensätzen wär ich mir nicht so sicher;
ASCII vs. EBCDIC z.B.