J'ai degoté sur le web ce script de cryptage ... D'après ce que j'ai pigé il ruse pour faire du 256 bits ...
Coté solidité, vous en pensez quoi ?
Coté solidité, vous en pensez quoi ?
Code:
<?php
$key1 = "Ceci est ma premiere cle secrete";
$key2 = "Voilà ma deuxieme cle aussi secrete";
$input = "Voilà un joli texte que je veux cacher à la convoitise des curieux de tout poil !";
$length = strlen($input);
/* Open the cipher */
$td = mcrypt_module_open('rijndael-256', '', 'cbc', '');
/* Create the IV and determine the keysize length, use MCRYPT_RAND
* on Windows instead */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
/* Create key */
$key1 = md5($key1);
$key2 = md5($key2);
$key = substr($key1, 0, $ks/2) . substr(strtoupper($key2), (round(strlen($key2) / 2)), $ks/2);
$key = substr($key.$key1.$key2.strtoupper($key1),0,$ks);
/* Intialize encryption */
mcrypt_generic_init($td, $key, $iv);
/* Encrypt data */
$encrypted = mcrypt_generic($td, $input);
/* Terminate encryption handler */
mcrypt_generic_deinit($td);
/* Initialize encryption module for decryption */
mcrypt_generic_init($td, $key, $iv);
/* Decrypt encrypted string */
$decrypted = mdecrypt_generic($td, $encrypted);
/* Terminate decryption handle and close module */
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
/* Show string */
echo "Original: ".$input."<br>";
echo "Crypté: ".$encrypted ."<br>";
echo "Décrypté: ".substr($decrypted,0,$length) . "<hr>";
echo "<br>key1: $key1 <br>key2: $key2<br>created key: $key";
?>