Hey zusammen,
undzwar ich erstelle grad ein regestrierformular und da ist es ja wichtig passwörter zu hashen.
ich habe es bis jetzt so aufgebaut in php:
PHP
- <?php
- $vorname = $nachname = $email = $tag = $monat = $jahr = $benutzername = $password = $password_gehahst = $password_wiederholung = $password_gehahst_wiederholung = null; // alle vars auf null setzen
- if(isset($_POST['submitted']))
- {
- $vorname = trim($_POST['vorname']);
- $nachname = trim($_POST['nachname']);
- $email = trim($_POST['email']);
- //Geburtsdatum
- $tag = trim($_POST['tage']);
- $monat = trim($_POST['monate']);
- $jahr = trim($_POST['jahre']);
- //Benutzername
- $benutzername = trim($_POST['benutzername']);
- //Password
- $password = trim($_POST['password']);
- $password_gehahst = password_hash($password, PASSWORD_DEFAULT); //Password hashing zum schutz
- $password_wiederholung = trim($_POST['password_wiederholung']);
- $password_gehahst_wiederholung = password_hash($password_wiederholung, PASSWORD_DEFAULT);
- var_dump($password_gehahst);
- var_dump($password_gehahst_wiederholung);
- $errors = array_filter (
- //filterung der arrays mit callback funktion (bool) = true/false
- array_map (
- //ebenso soart durchlaufen/filtern der arrays mit callback funktion welche man returnen kann und außerhalb nutzen kann
- function($daten){
- // wenn $daten[0] nicht exsestiert , dann $daten[0] ist leer, sonst daten[0] ist leer
- $fehler = !isset($daten[0]) ? (empty($daten[0])) : (empty($daten[0]));
- //hier wenn $fehler da sind sind diese $daten[1] (die strings) sonst null
- return $fehler ? $daten[1] : null;
- },
- [
- [$vorname , '<p class="fehler">Bitte geben sie ihren Vornamen an!</p>'],
- [$nachname , '<p class="fehler">Bitte geben sie ihren Nachnamen an!</p>'],
- [$email , '<p class="fehler">Bitte geben sie ihre E-Mail-Adresse an!</p>'],
- [$benutzername , '<p class="fehler">Bitte geben sie ihren Benutzernamen an!</p>'],
- [$password , '<p class="fehler">Bitte geben sie ihr Password an!</p>'],
- [$password_wiederholung , '<p class="fehler">Bitte wiederholen sie die Angabe ihres Passwords!</p>']
- //hier hat man daten[0] & daten[1]
- ]
- )
- );
- }
- ?>
Welche Hash-Algorythmen würdet ihr mir empfehlen von denen : ?
PHP
- [0] => md2
- [1] => md4
- [2] => md5
- [3] => sha1
- [4] => sha224
- [5] => sha256
- [6] => sha384
- [7] => sha512
- [8] => ripemd128
- [9] => ripemd160
- [10] => ripemd256
- [11] => ripemd320
- [12] => whirlpool
- [13] => tiger128,3
- [14] => tiger160,3
- [15] => tiger192,3
- [16] => tiger128,4
- [17] => tiger160,4
- [18] => tiger192,4
- [19] => snefru
- [20] => snefru256
- [21] => gost
- [22] => gost-crypto
- [23] => adler32
- [24] => crc32
- [25] => crc32b
- [26] => fnv132
- [27] => fnv1a32
- [28] => fnv164
- [29] => fnv1a64
- [30] => joaat
- [31] => haval128,3
- [32] => haval160,3
- [33] => haval192,3
- [34] => haval224,3
- [35] => haval256,3
- [36] => haval128,4
- [37] => haval160,4
- [38] => haval192,4
- [39] => haval224,4
- [40] => haval256,4
- [41] => haval128,5
- [42] => haval160,5
- [43] => haval192,5
- [44] => haval224,5
- [45] => haval256,5
Wenn ich zuerst die eingabe vom password feld im paddword speichere ist
das password ja nicht geschützt oder ? Erst nachdem man es gehahst hat?
Ich würde dann das gehahschte Password in der Datenbank speichern falls alle eingaben stimmen und noch nicht besetzt sind.
Was haltet ihr von meiner Vorgangsweise? Wie würdet ihr es machen ? Mache ich es so richtig ?
Gruß,
Stef