Tutorial PHP - cyrpt md5, sha1: Criptare e decriptare stringhe in php.

  WebSpazio.it | Tutorial PHP
Webspazio.it - Tutorial PHP
cyrpt md5, sha1: Criptare e decriptare stringhe in php


Obiettivo del tutorial: Utilizzare le funzion crypt() md5(), sha1() per criptare e decriptare stringhe.

 

In un tutorial precedente abbiamo visto uno script per verificare username e password. In questo tutorial aggiungeremo altri elementi all'argomento Verifica del form di login.

Una cosa da evitare quando si costruisce uno script per l'autenticazione è di evitare di salvare testualmente le password nel database.
Conviene sempre prima criptarle e poi salvarle nel database.

Di seguito vedremo la funzione crypt() per criptare e decriptare stringhe.
crypt() usa un algoritmo di criptazione DES.
Il codice seguente recupera la password passata dal form di login con il metodo GET e la confronta con la password criptata prelevata dal database. In questo esempio non sono state inserite le funzioni per prelevare la password dal database si assume che la password criptata sia stata prelevata è immagazzinata nella variabile "$encpass".

<?php
  $pass = (isset($_GET['pass'])) ? $_GET['pass'] :  '';
  $encpass = '$1$FK3.qn2.$Si5KhnprsRb.N.SEF4GMW0';
  
  // Se criptando $pass si ottiene $encpass
  // allora crypt ritorna $encpass.
  if (crypt($pass, $encpass) === $encpass) {
    echo 'Login effettuato.';
  } else {
    echo 'Login fallito.';
  }
?>

E' molto importante non salvare nei database le password testualmente, senza alcun tipo di criptazione.

Altri due algoritmi di criptazione molto usati sono il Secure Hash Algorithm 1 (SHA1) e Message Digest Algorithm 5 (MD5). Php supporta questi algoritmi con le funzioni sha1() e md5.
Il codice per implementare queste funzioni è simile a quello visto per la funzione cript().
Esempio di codice con sha1()

<?php
  $pass = (isset($_GET['pass'])) ? $_GET['pass'] :'';

  $sha1pass = '61c2feed11e0e53eb8e295ab8da78150be12f301';

  if (sha1($pass) === $sha1pass) {
    echo 'Login effettuato.';
  } else {
    echo 'Login fallito.';
  }
?>

Esempio di codice con md5()

<?php
  $pass = (isset($_GET['pass'])) ? $_GET['pass'] :'';

  $md5pass = '6958b43cb096e036f872d65d6a4dc01b';

  if (md5($pass) === $md5pass) {

    echo 'Login effettuato.';
  } else {
    echo 'Login fallito.';
  }
?>

La differenza tra questi ultimi due algoritmi è il precedente è che per SHA1 e MD5 il checksum di una stringa è sempre lo stesso, per il DES cambia ogni volta.






  

seguimi su twitter



Partner: sms gratisInviaresmsgratis.it si propone come punto di riferimento per gli utenti che cercano siti internet per inviare sms gratis.

      SMS Gratis

trading onlineGuidatradingonline.com propone una guida al trading online, azioni, mercati azionistici, finanza online, indizi di borsa, grafici indici azioni .

      Trading online

zoologiazoologia-animali.com propone una guida alla zoologia e animali, specie animali suddivise per categorie, guida scentifica animali ed esseri viventi del regno animale

       Zoologia

directory gratisYoweb.it è una directory ricca di categorie con siti selezionati da editori per trovare velocemente e gratis.

       Directory Gratis

Home | Computer & Internet | Sviluppare Sito Web | Promuovere Sito Web | Mappa del Sito | Altri Siti | Contatti

Copyright © webspazio.it
Designed by webspazio.it