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 :
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;
}
Enregistrement 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);
Récupération des données :
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);
}