M.Jackson έγραψε:Ναι medigeek αλλά στο αρχείο php που κάνει login ο χρήστης εκεί είναι εκτεθειμένα το username και το password του host μου.
Όπως είπα:
- Κώδικας: Επιλογή όλων
$savedhash = '8910ee7d68dfff68460731ea37eb0d406d07862d';
$salt = 'ticket-ABC-XYZ-012'; // a random text string
$password = $_GET['password']; // user-input password
$hashtocheck = sha1( sha1($password) . sha1($salt) ); // result: hash text string
if ($hashtocheck == $savedhash) { echo("Success!\n"); }
else { echo("Try again!\n"); }
1. Θεωρώ ότι έχεις ένα html όπου ο χρήστης κάνει login μέσω html form. Εισάγει username και password.
Στέλνονται στο php για "έλεγχο" μέσω submit:
http://www.example.com/test.php?password=pass2. Το password το θέτει ως $password από το php variable.
3. Υπάρχει ένα φυλαγμένο hash ($savedhash), με το οποίο θα συγκρίνουμε και θα δούμε αν ο κωδικός που πήραμε από το form είναι σωστός.
4. Το φυλαγμένο hash μπορεί να διαβαστεί από ένα αρχείο π.χ. mypass.ini όπου θα φυλαχθεί το όνομα του χρήστη και το hash.
5. Το php θα υπολογίσει ένα hash από το form.
6. Ακολούθως, θα συγκρίνει τα δύο hashes.
Πουθενά δε φαίνεται ο κωδικός που εισήγαγε ο χρήστης. Υπάρχουν μόνο hashes!
Πιο ασφαλές από αυτό δε νομίζω να γίνεται. Καλά, κι ένα κωδικό 15+ χαρακτήρων που περιέχουν θα ήταν ό,τι πρέπει.

Αλλιώς, μάλλον δεν κατάλαβα την ερώτηση. Ας αρχίσουμε ξανά:
- Τι είδους κρυπτογράφηση γυρεύεις;
- Ποιο σκοπό πρέπει να εξυπηρετήσει;
- Το αρχείο πρέπει να είναι εκτελέσιμο;
- Υπάρχει δύο ειδών απ'όσο γνωρίζω, ένα είναι τύπου gpg (με δύο κλειδιά, ένα private κι ένα public) και το άλλο είναι το one-way hash (md5, sha1 κτλ).
Υπάρχει τρόπος να κρυπτογραφήσεις το home για παράδειγμα ή ένα private φάκελο (χρειάζεται εγκατάσταση του ecryptfs-utils αν δεν υπάρχει ήδη):
https://help.ubuntu.com/community/Encry ... eDirectoryΕκεί μπορείς να αποθηκεύσεις τα αρχεία σου και να φτιάξεις ένα "ln -s" link στον τόπο που πρέπει να βρίσκεται το αρχείο.
Φυσικά, καθώς τρέχει το αρχείο, νομίζω θα είναι ευάλωτο (επειδή μπορεί να διαβαστεί από τον τρέχων χρήστη, δηλ. από εσένα). Δεν είμαι ειδικός όμως.
