1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?php
// On calcule la taille de la clé pour l'algo triple des
$cle_taille = mcrypt_module_get_algo_key_size(MCRYPT_3DES);
// On calcule la taille du vecteur d'initialisation pour l'algo triple des et pour le mode NOFB
$iv_taille = mcrypt_get_iv_size(MCRYPT_3DES, MCRYPT_MODE_NOFB);
//On fabrique le vecteur d'initialisation, la constante MCRYPT_RAND permet d'initialiser un vecteur aléatoire
$iv = mcrypt_create_iv($iv_taille, MCRYPT_RAND);
if (!isset($_SESSION['iv'])) {
$_SESSION['iv'] = $iv;
}
$cle = md5("9840p1KzY");
// On retaille la clé pour qu'elle ne soit pas trop longue
$cle = substr($cle, 0, $cle_taille);
function cryptage($message) {
global $cle;
// On le crypte
$message_crypte = mcrypt_encrypt(MCRYPT_3DES, $cle, $message, MCRYPT_MODE_NOFB, $_SESSION['iv']);
return $message_crypte;
}
function decryptage($message) {
global $cle;
// On le décrypte
$message_decrypte = mcrypt_decrypt(MCRYPT_3DES, $cle, $message, MCRYPT_MODE_NOFB, $_SESSION['iv']);
return $message_decrypte;
}
$message = 'Lorem ipsum dolore sit amet consectetur';
$message_crypte = cryptage($message);
$fp = fopen("news_hotesses.txt","w+");
fwrite($fp, $message_crypte);
fclose($fp);
if ( is_file('news_hotesses.txt') ) {
$fp = fopen("news_hotesses.txt","r");
$message_decrypte = decryptage(fread($fp,filesize("news_hotesses.txt")));
fclose($fp);
echo $message_decrypte;
}
?> |
Partager