PHP  »  Guide  »  Guida PHP teorica 

Funzioni relative alla crittazione



Php offre agli sviluppatori una serie di funzioni relative alla crittatura, legate alla libreria mcrypt; tale libreria supporta moltissimi algoritmi di crittazione, alcuni più utilizzati ed altri meno. Gli algoritmi sono:

  • DES
  • TripleDES
  • Blowfish
  • 3-WAY
  • SAFER-SK64
  • SAFER-Sk128
  • TWOFISH
  • TEA
  • RC2
  • GOST
  • RC6
  • IDEA

Per funzionare con tale libreria, il PHP deve essere stato compilato con l'opzione --with-mcrypt. I comandi fondamentali sono quattro, tutti con la medesima sintassi:
  • mcrypt_cfb(): cipher feedback; codifica byte per byte;
  • mcrypt_cbc(): cipher block chaining: utile per l'encoding dei file con un grande margine di sicurezza;
  • mcrypt_ecb(): electronic codebook: utilizzata per dati random, dove il livello di sicurezza non è altissimo;
  • mcrypt_ofb(): output feedback: simile a cfb, ma è data maggiore attenzione agli errori.

La sintassi in generale è:

$encrypted = mcrypt_XXX(algoritmo, chiave, input, encode/decode)

dove:

  • XXX è il metodo che si intende utilizzare (cfb, cbc, cfb o ofb);
  • algoritmo è l'algoritmo che si intende utilizzare, con la sintassi:

MCRYPT_ALGORITMO

Ad esempio, si potrebbe utilizzare

MCRYPT_BLOWFISH


oppure

MCRYPT IDEA

  • chiave altro non è che la chiave con cui si andranno a crittare i dati;
  • input sono i dati da crittare;
  • encode/decode indica alla funzione se si devono crittare o decrittare i dati; per questo, si usano rispettivamente:

MCRYPT_ENCRYPT


e

MCRYPT_DECRYPT

Vediamo ora un esempio: volendo crittare una semplice stringa di testo con chiave di crittatura "La mia chiave" utilizzando CFB con l'algoritmo IDEA, dovremo scrivere:

$stringa = "Una semplice stringa di testo";
$chiave = "La mia chiave";
$encrypted = mcrypt_cfb(MCRYPT_IDEA, $chiave, $stringa, MCRYPT_ENCRYPT);

Chiunque voglia poi leggere i nostri dati crittati ($encrypted) dovrà ovviamente conoscere la chiave, il metodo e l'algoritmo utilizzati; quindi potrebbe scrivere qualcosa del tipo:

$chiave = "La mia chiave";
$stringa = mcrypt_cfb(MCRYPT_IDEA, $chiave, $encrypted, MCRYPT_DECRYPT);

La sua variabile "$stringa", quindi, conterrà "Una semplice stringa di testo".

Ultimi articoli PHP

Sessioni PHP: cosa sono, come si usano

Dalla configurazione di PHP, alla gestione delle sessioni in un...

Continuous Integration: automatizziamo i client con Phing

Continuous Integration: automatizziamo i client con Phing. Esempi...

Archiviazione delle applicazioni PHP con Phar

Come incorporare intere applicazioni PHP all'interno di un singolo...

I traits in PHP 5.4

Cosa sono, a cosa servono e come si unsano i traits, la novità per...

PHP 5.4: il web server integrato

Impara ad usare il web server integrato nella versione 5.4 di PHP:...

Altri articoli

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti