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; ?>
|
|