Bonjour,
Je rencontre un problème à l'utilisation de ma fonction d'encryptage de données sur un fichier texte. A l'enregistrement, le message décrypté est bien celui enregistré (après le chargement de la page qui à enregistré les données). En revanche quand je reviens sur la page qui affiche le message décrypté, le message est illisible (caractères spéciaux) et est différent à chaque lecture de la page. Une idée svp ?
Voici le tout :
Les fonctions utilisées :
Enregistrement des données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 // 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); $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 $iv, $cle; // On le crypte $message_crypte = mcrypt_encrypt(MCRYPT_3DES, $cle, $message, MCRYPT_MODE_NOFB, $iv); return $message_crypte; } function decryptage($message) { global $iv, $cle; // On le décrypte $message_decrypte = mcrypt_decrypt(MCRYPT_3DES, $cle, $message, MCRYPT_MODE_NOFB, $iv); return $message_decrypte; }
Récupération des données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $message = $_POST['message']; $message_crypte = cryptage($message); $fp = fopen("news_hotesses.txt","w+"); fwrite($fp, $message_crypte); fclose($fp);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if ( is_file('news_hotesses.txt') ) { $fp = fopen("news_hotesses.txt","r"); $message_decrypte = decryptage(fread($fp,filesize("news_hotesses.txt"))); fclose($fp); }
Partager