Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
pantelispyla
Δημοσιεύσεις: 45
Εγγραφή: 06 Νοέμ 2009 10:20

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από pantelispyla » 11 Δεκ 2010 14:06

Παιδιά θα ήθελα να μάθω ποιος είναι ο καλύτερος τρόπος κρυπρογράφησης δεδομένων για καταχώρηση από φόρμα σε μια βάση. Δεν χρειάζεται να είναι ο πιο τέλειος που να μην σπάει με τίποτα, απλά να είναι ασφαλείς. Να μην ειναι της πλάκας.

Άβαταρ μέλους
xultimatex
Honorary Member
Δημοσιεύσεις: 2505
Εγγραφή: 26 Ιούλ 2003 13:02
Τοποθεσία: Ξάνθη
Επικοινωνία:

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από xultimatex » 11 Δεκ 2010 16:05

Αυτός που χρησιμοποιούν οι περισσότεροι φαντάζομαι είναι ο md5. Είναι μονόδρομη κρυπτογράφηση που σημαίνει ότι μετατρέπεις τα πεδία σε md5 και δεν υπάρχει τρόπος να ξαναγυρίσεις στο αρχικό. Χρησιμοποιείται ώς εξής:

Μετατρέπεις σε md5 τον κωδικό του χρήστη και τον αποθηκεύεις στη βάση.
Κάθε φορά που θα προσπαθεί να κάνει login ο χρήστης θα μετατρέπεις το δωσμένο pass σε md5 και θα συγκρίνεις αυτό με τη βάση σου.

Υπάρχει php συνάρτηση md5() που αναλαμβάνει τις μετατροπές. Υπόψιν ότι όλα τα strings οδηγούν σε md5-string 32 χαρακτήρων. Άρα στη βάση τα πεδία θα πρέπει να είναι char(32) ανεξάρτητα από το τί περιορισμούς έχεις θέσει εσύ για τους κωδικούς.

Σημείωση: Επειδή αυτός ο τύπος κρυπτογράφησης είναι μονόδρομος δεν μπορεί να χρησιμοποιηθεί για συνολική κρυπτογράφηση. Είναι μόνο για πεδία στα οποία γίνεται σύγκριση (πχ password).
:arrow: Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από gvre » 11 Δεκ 2010 17:44

Εξαρτάται από το τι θέλεις να κρυπτογραφήσεις.

pantelispyla
Δημοσιεύσεις: 45
Εγγραφή: 06 Νοέμ 2009 10:20

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από pantelispyla » 11 Δεκ 2010 19:33

Κωδικούς χρηστών στη βάση θέλω να κρυπτογραφήσω.

Άβαταρ μέλους
Cypriot
Δημοσιεύσεις: 355
Εγγραφή: 20 Οκτ 2009 15:43

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από Cypriot » 11 Δεκ 2010 19:36

Τότε η απάντηση δώθηκε πιο πάνω.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από gvre » 11 Δεκ 2010 20:06

Μπορείς να χρησιμοποιήσεις md5, sha1, sha256 με ή χωρίς salt ανάλογα τις ανάγκες σου. Καλύτερα πάντως να μη χρησιμοποιήσεις md5.

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από Khronos » 11 Δεκ 2010 20:37

gvre έγραψε:Καλύτερα πάντως να μη χρησιμοποιήσεις md5.
Για ποιο λόγο?


Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3197
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από CyberCr33p » 11 Δεκ 2010 22:00

Ο μόνος λόγος που μπορώ να σκεφτώ να μην χρησιμοποιήσεις το MD5 είναι ότι 2 string μπορεί να έχουν το ίδιο MD5 hash. Οπότε κάποιος να μπορεί να κάνει login για παράδειγμα σε κάποιο forum με άλλο κωδικό. Κάτι τέτοιο βέβαια πρέπει είναι πολύ σπάνιο.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από gvre » 11 Δεκ 2010 23:42

Ο ένας λόγος είναι αυτός και ο άλλος αυτός. Το ίδιο βέβαια ισχύει και για sha1 και sha256. Μια καλύτερη λύση είναι η χρήση salt στα passwords κάτι το οποίο προσθέτει λίγη πολυπλοκότητα σε κάποιες περιπτώσεις.

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από Khronos » 12 Δεκ 2010 17:36

Δεν το ήξερα, θα τα κοιτάξω πιο προσεκτικά. ;)

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από pimpogio » 15 Ιαν 2011 19:10

κατι καλυτερο παιζει ? εκτος απο τους hashing αλγοριθμους ? μια και αυτο δεν ειναι κρυπτογραφηση αλλα κατακερματισμος και ειναι αλλη η δουλεια του.
Δεν ειναι για κωδικους τελοσπαντων εχει αλλες χρησεις
και η χρηση του για τους κωδικους ειναι καθαρα quick and dirty τρυκ....

Άβαταρ μέλους
Pavel
Honorary Member
Δημοσιεύσεις: 1046
Εγγραφή: 08 Αύγ 2003 00:05
Τοποθεσία: UK

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από Pavel » 15 Ιαν 2011 19:21

Εφόσον μιλάμε για κρυπτογράφηση κωδικών, εννοείται πως θα χρησιμοποιηθεί κάποιος hashing αλγόριθμος (σε συνδυασμό με κάποιο salt). Εκτός και αν θέλουμε να έχουμε την δυνατότητα αποκρυπτογράφησης των κωδικών, κάτι που θεωρώ ύπουλο (χώρια την περίπτωση αν σου κλέψουν την βάση).
Εσύ είσαι τρελός.

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από pimpogio » 15 Ιαν 2011 22:00

αλλο η κρυπτογραφηση αλλο ο κατακερματισμος
εγω μιλαω για κρυπτογραφηση ...

Άβαταρ μέλους
xultimatex
Honorary Member
Δημοσιεύσεις: 2505
Εγγραφή: 26 Ιούλ 2003 13:02
Τοποθεσία: Ξάνθη
Επικοινωνία:

Κρυπτογράφηση δεδομένων για καταχώρηση σε βάση δεδομένων.

Δημοσίευση από xultimatex » 15 Ιαν 2011 22:03

Πριν, ρώτησες αν παίζει κάτι καλύτερο.. Πώς το εννοείς το καλύτερο; Γιατί δεν σου κάνει το md5 ή τα υπόλοιπα;
:arrow: Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες