Δημοσιεύτηκε: 28 Ιουν 2011, 03:45
http://www.php.net/manual/en/function.sha1.php
http://php.net/manual/en/function.crypt.php
Βασικά αυτό που συστήνουν είναι να μπει το salt (text string με επιπλέον χαρακτήρες). Για παράδειγμα θα δέχεσαι τον κωδικό που έγραψε ο χρήστης "password", και το sha1() να δημιουργεί ένα hash από το text string "password" συν το "moomoo" (το "moomoo" είναι το salt).
Παρόμοιος τρόπος:
Με αυτή τη μέθοδο (salt + (md5 ή sha1 ή άλλο)) και να σου κλέψουν το hashed ("crypted") κωδικό από τη βάση δεδομένων, δε θα μπορούν να το συγκρίνουν με γνωστά hashes κωδικών όπως "admin", "root", επειδή δεν μπορούν να βρουν τον αληθινό κωδικό χωρίς τον αλγόριθμο.
Δηλαδή και "admin" να είναι ο κωδικός, το hash με το salt θα το προστατεύσει (αν δεν ξέρει τον αλγόριθμο του αρχείου php).
http://php.net/manual/en/function.crypt.php
Βασικά αυτό που συστήνουν είναι να μπει το salt (text string με επιπλέον χαρακτήρες). Για παράδειγμα θα δέχεσαι τον κωδικό που έγραψε ο χρήστης "password", και το sha1() να δημιουργεί ένα hash από το text string "password" συν το "moomoo" (το "moomoo" είναι το salt).
Παρόμοιος τρόπος:
- Κώδικας: Επιλογή όλων
$salt = 'ticket-ABC-XYZ-012'; // a random text string
$password = 'this_is_what_user_typed'; // user-input password
echo sha1( sha1($password) . sha1($salt) ); // result: hash text string
Με αυτή τη μέθοδο (salt + (md5 ή sha1 ή άλλο)) και να σου κλέψουν το hashed ("crypted") κωδικό από τη βάση δεδομένων, δε θα μπορούν να το συγκρίνουν με γνωστά hashes κωδικών όπως "admin", "root", επειδή δεν μπορούν να βρουν τον αληθινό κωδικό χωρίς τον αλγόριθμο.
Δηλαδή και "admin" να είναι ο κωδικός, το hash με το salt θα το προστατεύσει (αν δεν ξέρει τον αλγόριθμο του αρχείου php).