Manual do PHP
Anterior | Apêndice O. Lista de Filtros Disponíveis | Próxima

# Encryption Filters

Os filtros `mcrypt.*` e `mdecrypt.*` permitem criptografar e descriptografar usando libmcrypt. Ambos os conjuntos de filtros suportam os mesmos algoritmos disponíveis na extensão mcrypt na forma de `mcrypt.ciphername` onde `ciphername` é o nome da cifra como seria passada para mcrypt_module_open(). Os cinco filtros a seguir estão disponíveis:

Tabela O-1. parâmetros para os filtros mcrypt

Parâmetro | É Necessário? | Valor Padrão | Exemplos de Valores
--- | --- | --- | ---
Modo | Opcional | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Opcional | ini_get('mcrypt.algorithms_dir') | Localização do módulos de algoritmos
modes_dir | Opcional | ini_get('mcrypt.modes_dir') | Localização do módulos de modos
iv | Necessário | N/A | Tipicamente 8, 16, or 32 bytes de dados binários. Dependa da cifra.
key | Necessário | N/A | Tipicamente 8, 16, or 32 bytes de dados binários. Dependa da cifra.

Exemplo O-10. Criptografando saída de arquivo usando 3DES
`<?php $passphrase = 'My secret'; /* Turn a human readable passphrase * into a reproducable iv/key pair */ $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); ?>`

Exemplo O-11. Lendo um arquivo criptografado
`<?php $passphrase = 'My secret'; /* Turn a human readable passphrase * into a reproducable iv/key pair */ $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; ?>`

Anterior | Principal | Próxima
Filtros de Compressão | Acima | Lista de Transportes via Socket Suportados