Tester mcrypt_encrypt

© Christian PAULUS. Document créé le 16 février 2008 , mis à jour le 16 février 2008.

Quand on a dix pas à faire, neuf font la moitié du chemin. Proverbe chinois

Accueil du site > Astuces > PHP > Tester mcrypt_encrypt

Cryptage / PHP 4

Besoin de valider la librairie mcrypt présente sur votre serveur ou celui de votre hébergeur ?

Voici un petit script PHP qui liste presque tous les modes de chiffrement de l’extension mcrypt.

<?php

error_reporting
(E_ERROR E_WARNING);

$cipher = array(
      
'MCRYPT_3DES''MCRYPT_ARCFOUR_IV''MCRYPT_ARCFOUR'
    
'MCRYPT_BLOWFISH''MCRYPT_CAST_128''MCRYPT_CAST_256'
    
'MCRYPT_CRYPT''MCRYPT_DES''MCRYPT_DES_COMPAT''MCRYPT_ENIGMA'
    
'MCRYPT_GOST''MCRYPT_LOKI97''MCRYPT_MARS''MCRYPT_PANAMA'
    
'MCRYPT_RIJNDAEL_128''MCRYPT_RIJNDAEL_192''MCRYPT_RIJNDAEL_256'
    
'MCRYPT_RC2''MCRYPT_RC4''MCRYPT_RC6''MCRYPT_RC6_128'
    
'MCRYPT_RC6_192''MCRYPT_RC6_256''MCRYPT_SAFER64'
    
'MCRYPT_SAFER128''MCRYPT_SAFERPLUS''MCRYPT_SERPENT'
    
'MCRYPT_SERPENT_128''MCRYPT_SERPENT_192''MCRYPT_SERPENT_256'
    
'MCRYPT_SKIPJACK''MCRYPT_TEAN''MCRYPT_THREEWAY'
    
'MCRYPT_TRIPLEDES''MCRYPT_TWOFISH''MCRYPT_TWOFISH128'
    
'MCRYPT_TWOFISH192''MCRYPT_TWOFISH256''MCRYPT_WAKE'
    
'MCRYPT_XTEA'
    
);

$key 'une clé secrète';

$text 'Rencontrons-nous à 8 heures, devant le monument';

echo (
    
"<div class='item'><strong>original</strong> :&nbsp;\""
    
.$text."\"<br /><strong>size</strong> : ".strlen($text)."</div>"
    
"<br />\n"
);
  
$code_str "";

foreach(
$cipher as $c) {
    if(
defined($c)) {
        
$code_str .= "\n"
        
"echo \"<div class='item'><h3>$c</h3>\";\n"
        
"$"."iv = mcrypt_create_iv(mcrypt_get_iv_size("
            
.$c.", MCRYPT_MODE_ECB), MCRYPT_RAND);\n"
        
"$"."crypttext = mcrypt_encrypt("
            
.$c.", "."$"."key, "
            
."$"."text, MCRYPT_MODE_ECB, "."$"."iv);\n"
        
"echo \""
            
"<span class='result'><strong>result</strong>:"
                
"&nbsp;<tt>$"."crypttext</tt></span>\n"
            
"<strong>size</strong>: \".strlen($"."crypttext).\""
                
"<br />"
            
"</div>\";\n"
        
;
    }
}

eval(
$code_str);
?>

Le code dans une page PHP :

Zip - 1.2 ko

A noter:

- Page consacrée à mcrypt PHP sur php.net
- Présentation de mcrypt

Plussoyez !

Répondre à cet article