Manuel PHP
Précédent | Annexe N. Liste des filtres standards | Suivant

# 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 :

Tableau N-1. Paramètres du filtre mcrypt

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

Exemple N-10. 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);
?>`

Exemple N-11. 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;
?>`

Précédent | Sommaire | Suivant
Filtres de compression | Niveau supérieur | Liste des modes de transport de sockets disponibles