12.13 Liste des filtres standards 
12 Annexes 
 Manuel PHP 
 . Filtres de chaînes de caractères . Filtres de conversion . Filtres de compression ->Filtres de chiffrement
 
  | 
 
  12.13.4 Filtres de chiffrement 
 
mcrypt.*
  et  
mdecrypt.*
 
   fournissent un système de chiffrement symétrique basé sur 
   libmcrypt. Les deux filtres supportent les mêmes algorithmes
   disponibles avec la bibliothèque  mcrypt ,
   sous la forme de la directive  
mcrypt.ciphername
  
   où  
ciphername
  est le nom du chiffrement qui sera
   passé à  
mcrypt_module_open
 . Les cinq paramètres
   suivants sont aussi disponibles : 
   
 
 
| Paramètre | 
Obligatoire | 
Par défaut | 
Valeurs possibles | 
 
| mode | 
Optionnel | 
cbc | 
cbc, cfb, ecb, nofb, ofb, stream | 
 
| algorithms_dir | 
Optionnel | 
ini_get('mcrypt.algorithms_dir') | 
Chemin vers les algorithmes de modules | 
 
| modes_dir | 
Optionnel | 
ini_get('mcrypt.modes_dir') | 
Chemin vers les modes de modules | 
 
| iv | 
Obligatoire | 
N/A | 
Généralement 8, 16 ou 32 octets de données binaires. Dépend du chiffrement | 
 
| key | 
Obligatoire | 
N/A | 
Généralement 8, 16 ou 32 octets de données binaires. Dépend du chiffrement | 
 
 
 
| Chiffrement d'un fichier avec 3DES |  
<?php $passphrase = 'My secret';
  /* Transforme un mot de passe humain  * en une paire iv/clé  */ $iv = substr(md5('iv'.$passphrase, true), 0, 8); $key = substr(md5('pass1'.$passphrase, true) .                 md5('pass2'.$passphrase, true), 0, 24); $opts = array('iv'=>$iv, 'key'=>$key);
  $fp = fopen('secert-file.enc', 'wb'); stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts); fwrite($fp, 'Secret secret secret data'); fclose($fp); ?>
 
 |   
 
| Lecture d'un fichier chiffré |  
<?php $passphrase = 'My secret';
  /* Transforme un mot de passe humain  * en une paire iv/clé  */ $iv = substr(md5('iv'.$passphrase, true), 0, 8); $key = substr(md5('pass1'.$passphrase, true) .                 md5('pass2'.$passphrase, true), 0, 24); $opts = array('iv'=>$iv, 'key'=>$key);
  $fp = fopen('secert-file.enc', 'rb'); stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_WRITE, $opts); $data = rtrim(stream_get_contents($fp)); fclose($fp);
  echo $data; ?>
 
 |   
 |