Guten Tag,
ich programmiere mir gerade in PHP eine einfache Seite in der ich Verträge, Rechnungen usw. eingebe, damit ich automatisch daran erinnert werde was zu tun ist.
Die Seite überlege ich online zu stellen (bislang lokal), aber hab Sicherheitsbedenken, daher:
Gibt es eine Möglichkeit vierstellige Zahlen mit einem Schlüsselwort so zu verschlüsseln das die Wahrscheinlichkeit eines Treffers bei <0,1% liegt?
habe mir folgendes überlegt gehabt:
$1, $2, $3, $4 sind die einzelnen Ziffern des Schlüssels.
for($1 == 1) { $erste_ziffer = 5}
for($1 == 2) { $erste_ziffer = 8}
for($1 == 3) { $erste_ziffer = 3}
for($1 == 4) { $erste_ziffer = 2}
for($1 = ....
for($2 == 1) { $zweite_ziffer = 7}
for($2 == 2) { $zweite_ziffer = 4}
for($2 == 3) { $zweite_ziffer = 5}
for($2 == 4) { $zweite_ziffer = 0}
for($2 = ....
for($3 == 1) { $dritte_ziffer = 1}
for($3 == 2) { $dritte_ziffer = 4}
for($2 == 1) { $vierte_ziffer = 9}
for($2 == 2) { $vierte_ziffer = 8}
Dann hätte man den Prüfwert von z.B. 4422 und als Resultat 2048. Da es beim jeder Ziffer 10 Möglichkeiten gibt, ist die Wahrscheinlichkeit eines zufälligen Treffers bei P(treffer) = (1/10)^4 = 0,0001 was 0,01% entspricht und da jedes Ergebnis gleich Wahrscheinlich ist, kann man es durch Logik nicht weiter eingrenzen (z.B. abgleich mit Wörterbuch oder ähnlichem).
Aber... mit dem Schlüssel 4422 könnte ich jetzt nicht 1024 heraus bekommen, was ich aber für den zweiten Schlüssel ggf. wöllte.
--> Gibt es eine Möglichkeit mehrere unterschiedliche, vierstellige (am besten n-stellig) Zahlen mit EINEM vierstelligem Schlüsselwort so zu verschlüsseln das die Wahrscheinlichkeit eines Treffers bei <0,01% liegt?
Danke,
Wolf