crittografare le password[sql]

« Older   Newer »
  Share  
.Sharon.
view post Posted on 8/5/2009, 08:25




Nell'SQL,ovvero nei database e' consigliato crittografare le password nel caso qualcun'altro oltre l'admin riesca ad accedere .
CI sono casi in cui le informazioni che registriamo del DB non possono essere tenute “in chiaro”, ad esempio le password utente.
In questo caso possiamo cifrare la password da memorizzare in modo tale che se il contenuto del DB dovesse essere visualizzato, la password non sarebbe comunque decifrabile.
Una funzione comunemente usata è md5() che genera un hash di una stringa.
Una volta memorizzata la password cifrata nel DB possiamo controllarla confrontandola con la versione cifrata della password inserita dall’utente



Esempio :

SPOILER (click to view)
CODE
<? $logininserito=$_POST[login];
$passwordinserita = $_POST[password];
$passwordinseritamd5 = md5($passwordinserita);
$sql=“select * from utenti where login=$logininserito”;
$res=mysql_query($sql,$conn);
……..
If ($records[password] == $passwordinseritamd5 ) { echo “login corretto”; } else { echo “password errata”;};
?>


Nell'SQL per indicare che quel nome e' una variabile si usa $.

SPOILER (click to view)
http://md5encryption.com/ per crittografare!


La fonte e' la lezione che sto seguendo in laboratorio in questo momento a Pisa XD
 
Top
Sargon Xavier
view post Posted on 8/5/2009, 16:50




allora, è un ottimo messaggio anche se poco comprensibile per chi non è addetto ai lavori.

faccio una breve integrazione per i non informatici.

i database, come sapete, non sono altro che una serie di tabelle contenenti informazioni. queste informazioni possono essere accessibili direttamente (si dice che le informazioni sono "in chiaro") oppure essere crittografate.
crittografare significa sostituire ad ogni lettera uno o più caratteri alfanumerici che la rendono irriconoscibile a coloro che non possiedono la chiave di traduzione.

CITAZIONE
In questo caso possiamo cifrare la password da memorizzare in modo tale che se il contenuto del DB dovesse essere visualizzato, la password non sarebbe comunque decifrabile.

questa frase vuole dire "in questo caso possiamo cifrare la password memorizzata all'interno dell'apposita tabella in modo tale che, se qualcuno che non possiede la chiave dovesse entrare nel database, non sarebbe in grado comunque di leggere la password.

CITAZIONE
Una funzione comunemente usata è md5() che genera un hash di una stringa.

una funzione è un pezzo di un programma che viene chiamato all'interno di un altro programma per fare un semplice compito e poi torna in attesa. un po' come i tergicristalli della macchina. quando li attivate funzionano e poi quando li disattivate si spengono in attesa di essere richiamati a fare lo stesso lavoro di prima.
si dice hash una funzione che associa ad una stringa di lunghezza qualsiasi un'altra stringa di lunghezza definita sempre costante qualunque sia la stringa inserita.
quindi quel pezzo del post di sharon vuole dire che il codice associa ad ogni password inserita un codice della stessa lunghezza. una volta che un eventuale spione entra nel nostro database potrà visualizzare solo i codici assegnati alle varie password e non le password vere e proprie, quindi in teoria non può farci nulla.

se qualcuno interessa possiamo anche fare la spiegazione di passo per passo la funzione inserita da sharon. lo farò solo nel caso a qualcuno interessi davvero.

comunque sha, sono davvero colpito, hai scritto un topic davvero molto molto interessante, grazie!
 
Top
.Sharon.
view post Posted on 8/5/2009, 18:41




Ti ringrazio per la spiegazione fornita XD
sono contenta che ti piaccia ^^
se vuoi posso farne uno su php XD
 
Top
Sargon Xavier
view post Posted on 10/5/2009, 07:50




quando vuoi....*-*
lo sai che io li apprezzo tantissimo questi tutorials
 
Top
3 replies since 8/5/2009, 08:25   205 views
  Share