Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Funzioni relative alla crittazione

Analisi delle funzioni legate alla crittazione dei dati: la libreria mcrypt()
Analisi delle funzioni legate alla crittazione dei dati: la libreria mcrypt()
Link copiato negli appunti

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".

Ti consigliamo anche