Und was ich noch mache - ich mache auf beiden seiten, wieder das phpbb3 Forum rein.
OK - und sonst sage ich nichts.
https://www.ituenix.de/wwwprogs/list.html
Nicht vergessen, meine PHP Skripte / Programme - Funktionsplotter - Scheme Compiler - unbekannte noch nicht fertig Sprache Compiler - vom Typ Oberon ...
Ok, ich habe phpBB3 auf ituenix.de installiert - es kommt noch nach yun7x.de
https://www.ituenix.de/phpBB3/
Wenn ich damit fertig bin, kommt mein IRC - mit Anmeldung, aber ohne E-Mail Verifizierung und mit MySQL - Database.
OK, der erste Teil funktioniert schon mal, ich zeige die Quelltexte - im nächsten Moment - nicht DOM sondern AJAX - damit das richtig aktualisiert wird.
Für IRC brauchen wir AJAX.
<?php session_start (); ?> <form method="POST" action="./irc.php"> <input type="text" name="name0007" id="id0007"></input> <input type="submit"> </form> <?php $postmin = 4; $postmax = 512; if (!isset($_SESSION ["nameircituenixde"])) { echo "Sie sind leider nicht eingelogged<br>"; echo "<a href=\"./login.php\">login.php</a>"; } else echo "Name: " . $_SESSION ["nameircituenixde"] . "<br>"; include ("/home/david/ircsecrets.php"); $postingtext = htmlentities (htmlentities ($_POST ["name0007"])); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT * FROM postings"; $stmt = $db->query ($sql); echo "<table>"; echo "<tr>"; echo "<td> Username </td> <td> Date/Time </td> <td> Posting </td>"; echo "</tr>"; while ($row = $stmt -> fetch ()) { echo "<tr>"; echo "<td>" . $row [0] . "</td> <td>" . $row [1] . "</td> <td>" . $row [2] . "</td>"; echo "</tr>"; } echo "</table>"; if ((strlen ($postingtext) > $postmin) && (strlen ($postingtext) < $postmax)) { $sql = "INSERT INTO postings (user, datetime, posting) VALUES (\"" . $_SESSION ["nameircituenixde"] . "\",\"" . date('Y-m-d H:i:s') . "\",\"" . $postingtext . "\"); "; $db->query ($sql); } else if (strlen ($postingtext) < $postmin) echo "Das Postings muss groesser " . $postmin . " Zeichen sein"; else echo "Das Postings muss kleiner " . $postmax . " Zeichen sein"; $sql = "QUIT"; $db->query ($sql); ?> <?php session_start (); ?> <form method="POST" action="./login.php"> Name: <input id="id0004" type="text" name="name0004"></input> Passwort: <input id="id0005" type="password" name="name0005"></input> <input id="id0006" type="submit"></input> </form> <?php include ("/home/david/ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0004"]); $newircuserpassword = htmlentities ($_POST ["name0005"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () == 0) { echo "Dieser Nutzername ist nicht vorhanden"; } else { $sql = "SELECT password FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); $row = $stmt -> fetch (); if (strcmp ($row [0], md5 ($newircuserpassword)) != 0) { echo "Falsches Passwort"; unset ($_SESSION ["nameircituenixde"]); } else { $_SESSION ["nameircituenixde"] = $newircuser; echo "Sie sind angemeldet <br>"; echo "<a href=\"./irc.php\">irc.php</a>"; } $sql = "QUIT"; $db->query ($sql); } ?> <?php session_start (); ?> <form method="POST" action="./register.php"> Name: <input id="id0001" type="text" name="name0001"></input> Passwort: <input id="id0002" type="password" name="name0002"></input> <input id="id0003" type="submit"></input> </form> <?php include ("/home/david/ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0001"]); $newircuserpassword = htmlentities ($_POST ["name0002"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () != 0) { echo "Dieser Nutzername ist bereits vergeben"; } else { $sql = "INSERT INTO users (user, password) VALUES (\"" . $newircuser . "\",\"" . md5($newircuserpassword) . "\"); "; $db->query ($sql); echo "Sie sind registriert<br>"; echo "<a href=\"./login.php\">login.php</a>"; } $sql = "QUIT"; $db->query ($sql); session_destroy (); ?>
Ich muss noch ein logout schreiben mit
session_destroy ()
Ich mache es nachher mit CSS dass es gescheiht aussieht.
OK, es funktioniert fantastisch, mit diesem Ding hier Ich verstehe jetzt auch wie Ajax Genau funktioniert, ich muss darüber keinen Kopf zerbrechen, ich weiss wie es geht
dann natürlich mit
setIntervall ()immer wieder aufrufen - Entschuldigung, ich habe vorher die geschweifte Klammer vergessen.
<div id="content"></div> <script> setInterval(function(){loadDoc();}, 1000); function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onload = function() { document.getElementById("content").innerHTML = this.responseText; } xhttp.open("GET", "dbload.php"); xhttp.send(); } </script> <?php session_start (); ?> <?php include ("/home/david/ircsecrets.php"); $postingtext = htmlentities (htmlentities ($_POST ["name0007"])); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT * FROM postings"; $stmt = $db->query ($sql); echo "<table>"; echo "<tr>"; echo "<td> Username </td> <td> Date/Time </td> <td> Posting </td>"; echo "</tr>"; while ($row = $stmt -> fetch ()) { echo "<tr>"; echo "<td>" . $row [0] . "</td> <td>" . $row [1] . "</td> <td>" . $row [2] . "</td>"; echo "</tr>"; } echo "</table>"; ?> <?php session_start (); ?> <form method="POST" action="./irc.php"> <input type="text" name="name0007" id="id0007"></input> <input type="submit"> </form> <div id="content"></div> <script> setInterval(function(){loadDoc();}, 1000); function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onload = function() { document.getElementById("content").innerHTML = this.responseText; } xhttp.open("GET", "dbload.php"); xhttp.send(); } </script> <?php $postmin = 4; $postmax = 512; if (!isset($_SESSION ["nameircituenixde"])) { echo "Sie sind leider nicht eingelogged<br>"; echo "<a href=\"./login.php\">login.php</a>"; } else { echo "Name: " . $_SESSION ["nameircituenixde"] . "<br>"; include ("/home/david/ircsecrets.php"); $postingtext = htmlentities (htmlentities ($_POST ["name0007"])); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); if ((strlen ($postingtext) > $postmin) && (strlen ($postingtext) < $postmax)) { $sql = "INSERT INTO postings (user, datetime, posting) VALUES (\"" . $_SESSION ["nameircituenixde"] . "\",\"" . date('Y-m-d H:i:s') . "\",\"" . $postingtext . "\"); "; $db->query ($sql); } else if (strlen ($postingtext) < $postmin) echo "Das Postings muss groesser " . $postmin . " Zeichen sein"; else echo "Das Postings muss kleiner " . $postmax . " Zeichen sein"; echo "<br><a href=\"./logout.php\">logout</a>"; } ?> <?php session_start (); ?> <form method="POST" action="./login.php"> Name: <input id="id0004" type="text" name="name0004"></input> Passwort: <input id="id0005" type="password" name="name0005"></input> <input id="id0006" type="submit"></input> </form> <?php include ("/home/david/ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0004"]); $newircuserpassword = htmlentities ($_POST ["name0005"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () == 0) { echo "Dieser Nutzername ist nicht vorhanden"; } else { $sql = "SELECT password FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); $row = $stmt -> fetch (); if (strcmp ($row [0], md5 ($newircuserpassword)) != 0) { echo "Falsches Passwort"; unset ($_SESSION ["nameircituenixde"]); } else { $_SESSION ["nameircituenixde"] = $newircuser; echo "Sie sind angemeldet <br>"; echo "<a href=\"./irc.php\">irc.php</a>"; } } ?> <?php session_start (); session_destroy (); ?> <?php session_start (); ?> <form method="POST" action="./register.php"> Name: <input id="id0001" type="text" name="name0001"></input> Passwort: <input id="id0002" type="password" name="name0002"></input> <input id="id0003" type="submit"></input> </form> <?php include ("/home/david/ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0001"]); $newircuserpassword = htmlentities ($_POST ["name0002"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () != 0) { echo "Dieser Nutzername ist bereits vergeben"; } else { $sql = "INSERT INTO users (user, password) VALUES (\"" . $newircuser . "\",\"" . md5($newircuserpassword) . "\"); "; $db->query ($sql); echo "Sie sind registriert<br>"; echo "<a href=\"./login.php\">login.php</a>"; } $sql = "QUIT"; $db->query ($sql); session_destroy (); ?>Jetzt wird im letzten schritt, die aufgabe sein, die nachrichten andersherum zu zeigen von hinten nach vorne - dann - wird die Aufgabe sein - das Aussehen, der Eingabebox zum Beispiel aber auch der anderen nicht direkt zu verändern, sondern über CSS - und dann ist die Aufgabe - die
<a ..>mit IDs zu versehen, und classes, um ihr aussehen an zu passen, über CSS.
Ich stelle das jetzt online
https://www.ituenix.de/irc20240913/irc.php
https://www.ituenix.de/irc20240913/index.php
Hier noch mal mit Check des Benutzernames und Passworts
<?php session_start (); ?> <link rel="stylesheet" href="stylesheet.css"> <?php include ("./ircsecrets.php"); $postingtext = htmlentities (htmlentities ($_POST ["name0007"])); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT * FROM postings ORDER BY datetime DESC; "; $stmt = $db->query ($sql); echo "<table>"; echo "<tr>"; echo "<td> Username </td> <td> Date/Time </td> <td> Posting </td>"; echo "</tr>"; while ($row = $stmt -> fetch ()) { echo "<tr>"; echo "<td>" . $row [0] . "</td> <td>" . $row [1] . "</td> <td>" . $row [2] . "</td>"; echo "</tr>"; } echo "</table>"; ?> <link rel="stylesheet" href="stylesheet.css"> <a href="./register.php">register</a> <a href="./login.php">login</a> <a href="./irc.php">irc</a> <a href="./logout.php">logout</a> <?php session_start (); ?> <form method="POST" action="./irc.php"> <input type="text" name="name0007" id="id0007" class="posting0001"></input> <input type="submit"> </form> <div id="content"></div> <script> setInterval(function(){loadDoc();}, 1000); function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onload = function() { document.getElementById("content").innerHTML = this.responseText; } xhttp.open("GET", "dbload.php"); xhttp.send(); } </script> <?php $postmin = 4; $postmax = 512; if (!isset($_SESSION ["nameircituenixde"])) { echo "Sie sind leider nicht eingelogged<br>"; echo "<a href=\"./login.php\">login.php</a>"; } else { include ("./ircsecrets.php"); $postingtext = htmlentities (htmlentities ($_POST ["name0007"])); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); if ((strlen ($postingtext) > $postmin) && (strlen ($postingtext) < $postmax)) { $sql = "INSERT INTO postings (user, datetime, posting) VALUES (\"" . $_SESSION ["nameircituenixde"] . "\",\"" . date('Y-m-d H:i:s') . "\",\"" . $postingtext . "\"); "; $db->query ($sql); } else if (strlen ($postingtext) < $postmin) echo "Das Postings muss groesser " . $postmin . " Zeichen sein"; else echo "Das Postings muss kleiner " . $postmax . " Zeichen sein"; echo "<br><a href=\"./logout.php\">logout</a>"; } ?> <?php session_start (); ?> <link rel="stylesheet" href="stylesheet.css"> <form method="POST" action="./login.php"> Name: <input id="id0004" type="text" name="name0004"></input> Passwort: <input id="id0005" type="password" name="name0005"></input> <input id="id0006" type="submit"></input> </form> <?php include ("./ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0004"]); $newircuserpassword = htmlentities ($_POST ["name0005"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () == 0) { echo "Dieser Nutzername ist nicht vorhanden"; } else { $sql = "SELECT password FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); $row = $stmt -> fetch (); if (strcmp ($row [0], md5 ($newircuserpassword)) != 0) { echo "Falsches Passwort"; unset ($_SESSION ["nameircituenixde"]); } else { $_SESSION ["nameircituenixde"] = $newircuser; echo "Sie sind angemeldet <br>"; echo "<a href=\"./irc.php\">irc.php</a>"; } } ?> <link rel="stylesheet" href="stylesheet.css"> <?php session_start (); session_destroy (); ?> <a href="./login.php">login</a> <?php session_start (); ?> <link rel="stylesheet" href="stylesheet.css"> <form method="POST" action="./register.php"> Name: <input id="id0001" type="text" name="name0001"></input> Passwort: <input id="id0002" type="password" name="name0002"></input> <input id="id0003" type="submit"></input> </form> <?php include ("./ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0001"]); $newircuserpassword = htmlentities ($_POST ["name0002"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () != 0) { echo "Dieser Nutzername ist bereits vergeben"; } else if ((strlen ($newircuserpassword) >= 4) && (strlen ($newircuser) >= 4)){ $sql = "INSERT INTO users (user, password) VALUES (\"" . $newircuser . "\",\"" . md5($newircuserpassword) . "\"); "; $db->query ($sql); echo "Sie sind registriert<br>"; echo "<a href=\"./login.php\">login.php</a>"; } else { echo "Sowohl Password als auch Nutzername muessen mehr als 4 Zeichen aufweisen<br>"; } ?> table { width: 100%; } tr { background-color: deepskyblue; font-family: courier; } body { background-image: url('./20230213_090925.jpg'); background-size: 100%; } a:link, a:visited { background-color: darkblue; color: white; padding: 14px 25px; text-align: center; text-decoration: none; display: inline-block; } a:hover, a:active { background-color: darkblue; } tr:nth-child(2n) { background-color: lightblue; font-family: courier; } .posting0001 { background-color: black; color: lightgreen; width: 100%; height: 128px; } // Und noch mal <?php session_start (); ?> <link rel="stylesheet" href="stylesheet.css"> <?php include ("./ircsecrets.php"); $postingtext = htmlentities (htmlentities ($_POST ["name0007"])); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT * FROM postings ORDER BY datetime DESC; "; $stmt = $db->query ($sql); echo "<table>"; echo "<tr>"; echo "<td> Username </td> <td> Date/Time </td> <td> Posting </td>"; echo "</tr>"; while ($row = $stmt -> fetch ()) { echo "<tr>"; echo "<td>" . $row [0] . "</td> <td>" . $row [1] . "</td> <td>" . $row [2] . "</td>"; echo "</tr>"; } echo "</table>"; ?> <link rel="stylesheet" href="stylesheet.css"> <a href="./register.php">register</a> <a href="./login.php">login</a> <a href="./irc.php">irc</a> <a href="./logout.php">logout</a> <?php session_start (); ?> <form method="POST" action="./irc.php"> <input type="text" name="name0007" id="id0007" class="posting0001"></input> <input type="submit"> </form> <div id="content"></div> <script> setInterval(function(){loadDoc();}, 1000); function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onload = function() { document.getElementById("content").innerHTML = this.responseText; } xhttp.open("GET", "dbload.php"); xhttp.send(); } </script> <?php $postmin = 4; $postmax = 512; if (!isset($_SESSION ["nameircituenixde"])) { echo "Sie sind leider nicht eingelogged<br>"; echo "<a href=\"./login.php\">login.php</a>"; } else { include ("./ircsecrets.php"); $postingtext = htmlentities (htmlentities ($_POST ["name0007"])); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); if ((strlen ($postingtext) > $postmin) && (strlen ($postingtext) < $postmax)) { $sql = "INSERT INTO postings (user, datetime, posting) VALUES (\"" . $_SESSION ["nameircituenixde"] . "\",\"" . date('Y-m-d H:i:s') . "\",\"" . $postingtext . "\"); "; $db->query ($sql); } else if (strlen ($postingtext) < $postmin) echo "Das Postings muss groesser " . $postmin . " Zeichen sein"; else echo "Das Postings muss kleiner " . $postmax . " Zeichen sein"; echo "<br><a href=\"./logout.php\">logout</a>"; } ?> <?php session_start (); ?> <link rel="stylesheet" href="stylesheet.css"> <form method="POST" action="./login.php"> Name: <input id="id0004" type="text" name="name0004"></input> Passwort: <input id="id0005" type="password" name="name0005"></input> <input id="id0006" type="submit"></input> </form> <?php include ("./ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0004"]); $newircuserpassword = htmlentities ($_POST ["name0005"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () == 0) { echo "Dieser Nutzername ist nicht vorhanden"; } else { $sql = "SELECT password FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); $row = $stmt -> fetch (); if (strcmp ($row [0], md5 ($newircuserpassword)) != 0) { echo "Falsches Passwort"; unset ($_SESSION ["nameircituenixde"]); } else { $_SESSION ["nameircituenixde"] = $newircuser; echo "Sie sind angemeldet <br>"; echo "<a href=\"./irc.php\">irc.php</a>"; } } ?> <link rel="stylesheet" href="stylesheet.css"> <?php session_start (); session_destroy (); ?> <a href="./login.php">login</a> <?php session_start (); ?> <link rel="stylesheet" href="stylesheet.css"> <form method="POST" action="./register.php"> Name: <input id="id0001" type="text" name="name0001"></input> Passwort: <input id="id0002" type="password" name="name0002"></input> <input id="id0003" type="submit"></input> </form> <?php include ("./ircsecrets.php"); $newircuser = htmlentities ($_POST ["name0001"]); $newircuserpassword = htmlentities ($_POST ["name0002"]); $db = new PDO ("mysql: host=localhost", $ircdbusername, $ircdbpassword); $sql = "USE " . $ircdbname; $db->query ($sql); $sql = "SELECT user FROM users WHERE user = \"" . $newircuser . "\"; "; $stmt = $db->query ($sql); if ($stmt -> rowCount () != 0) { echo "Dieser Nutzername ist bereits vergeben"; } else if ((strlen ($newircuserpassword) >= 4) && (strlen ($newircuser) >= 4)){ $sql = "INSERT INTO users (user, password) VALUES (\"" . $newircuser . "\",\"" . md5($newircuserpassword) . "\"); "; $db->query ($sql); echo "Sie sind registriert<br>"; echo "<a href=\"./login.php\">login.php</a>"; } else { echo "Sowohl Password als auch Nutzername muessen mehr als 4 Zeichen aufweisen<br>"; } ?> table { width: 100%; } tr { background-color: deepskyblue; font-family: courier; } body { background-image: url('./20230213_090925.jpg'); background-size: 100%; } a:link, a:visited { background-color: darkblue; color: white; padding: 14px 25px; text-align: center; text-decoration: none; display: inline-block; } a:hover, a:active { background-color: darkblue; } tr:nth-child(2n) { background-color: lightblue; font-family: courier; } .posting0001 { background-color: black; color: lightgreen; width: 100%; height: 128px; }
Ich erneuere heute alle Passwörter und weil die Regeln immer noch zu einfach zu erraten waren, obwohl sie kompliziert waren, wie ich meine Passwörter erstellt habe nämlich der Lesbarkeit halber änder ich diese Regel ab und meine Passwörter werden noch extrem komplizierter ich änder heute alle Passwörter. Jetzt mache ich mir gerade was zu essen. Ich geh nachher erst in die Stadt und dann beginne ich mal damit. Ich werde sie komplett sämtlich austauschen und nicht auf dem Smartphone benutzen, soweit es geht.
// So, sieht mein neuer Password Generator aus: #include <stdio.h> #include <stdlib.h> int main (void) { int i, j; int seed; int ch [4]; char specialchar [] = {'!', '@', '#', '$', '%', '&', '*', '(', ')', '+', '=', '?'}; printf ("Seed: "); scanf ("%i", &seed); srand((unsigned) seed); printf ("%i\n", seed); for (j = 0; j < 8; j++) { printf ("\n :"); for (i = 0; i < ((rand () % 6) + 12); i++) { ch [0] = (rand ()%26) + 'a'; ch [1] = (rand ()%26) + 'A'; ch [2] = (rand ()%10) + '0'; ch [3] = specialchar [rand ()%12]; printf ("%c", ch [rand () % 4]); } } return 0; }
Erzeugt Passwoerter der Form
ich habe extra als seed kein Time Genommen, weil, sonst leicht Rückschlüsse erstellt werden können. Stattdessen ist das Ziel, den Seed mit Würfeln zu erwürfeln
Ich habe vorne Platz gelassen, damit ich Namen für Passwörter rein schreiben kann.
Seed: 1 :H(&JbcYK! :)ph95J1bRT?&w8f :w$%ZXT3c)W9@c816 :qoYl%0g!%2(rda :290!ahL9o8T4GPu :68+l?d@M?Ui17B :69V*CXiK&+Rp :391V(4=8E$$&#A
Trotzdem finde ich die Idee mit dem Seed so beschissen, weil es werden halt nicht mehr als
INT_MAXPasswörter - anders als uns die Zeichen suggerieren, wenn man den Algorithmus hat. Man könnte sich entweder seed jedes Mal neu laden. Oder man könnte sie mit einer bestehenden Variante von SSL verschlüsseln und einfach die Verschlüsselte Version nehmen.
Das wäre überhaupt eine Idee - man nimmt SSL zur Verschlüsselung eines Textes für das SSL. Für das SSL nimmt man eben dieses Passwort - wie ich sie gerade sagte - dann erzeugt man ein lesbaren aber Darstellbaren Verschlüsselten Text, aus einem bestehenden.
Man schreibt ein Programm, was das zerlegt und nimmt die jeweils als Passwörter, das mache ich mal
So, mein Programm zum erstellen sicherer passwoerter hat schon fortschritte gemacht.
Zunaechst verschluessele ich eine Datei mit gpg
david@work:~$ gpg --gen-key david@work:~$ datei=fname.txt david@work:~$ gpg --encrypt -a --recipient david@ituenix.de $datei david@work:~$ cat "$datei.tex.asc"
So, im naechsten Schritt zerlege ich die Datei in Passwoerter unterschiedlicher Laenge.
// Ich aendere jetzt alle meine Passwoerter. // so, ich habe das programm geschrieben, es wird aufgerufen mit // cat file | ./password #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> int main (void) { time_t t; int i, j; int ch; srand ((unsigned)time (&t)); i = 0; j = i + (rand () % 6) + 12; printf ("\npassword:\t\t"); while ((ch = getchar ()) != EOF) { if (ch != '\n') putchar (ch); if (i == j) { j = i + (rand () % 6) + 12; printf ("\npassword:\t\t"); } i++; } return 0; }