Fonction encrypt et decrypt php - pb avec les fonctions de mcrypt

Bonjour à tous, voila j’ai un petit problème :

Lorsque j’execute ce code là, la variable décryptée est parfois, en fonction de ce que j’ai a entré, mal décryptée.

J’obtiens des choses comme ca : re losque je rentre redf mais je peux aussi obtenir le bon texte lorsque j’écrit autre chose : dft, aser, …

page testalgo.php


<html?gt;
<body>
<form action="testcryptage.php" method="POST">
<input type="text" size="32"  name="aEncrypter"/>
<button type="submit" value="valider">Envoyer</button>
</form>
</body>
</html?gt;

page testcryptage.php

<?

if (isset($_POST["aEncrypter"])) {
	// choix d'un algo, mode
	$algo = "gost"; // ou la constante php MCRYPT_BLOWFISH
	$mode = "cfb"; // ou la constante php MCRYPT_MODE_NOFB

	// calcul des longueurs max de la clé et de l'IV
	$key_size = mcrypt_module_get_algo_key_size($algo);
	$iv_size = mcrypt_get_iv_size($algo, $mode);
	
	// si, à ce stade, vous avez une erreur, c'est sans doute que soit l'algo, soit le mode ne sont
	// pas supportés par votre serveur. Utilisez mon script pour choisir des algo-modes compatibles.

	// création d'un IV aléatoire de la bonne longueur
	// vous pouvez mettre n'importe quoi dans $iv du moment qu'il est de la bonne longueur
	$iv = "aluteret";

	// choix d'une clé secrète de cryptage/décryptage et mise à longueur
	$cle = "aadfthgjidefgrsgt";
	$cle = substr($cle, 0, $key_size);

	// Phrase à crypter et cryptage
	$texte = $_POST["aEncrypter"];
	$crypte = mcrypt_encrypt($algo, $cle, $texte, $mode, $iv);
	
	header("Location: http://youraac.adexys/testdecryptage.php?aDecrypter=$crypte");

}
?>

page testdecryptage.php

<?

	$algo = "gost"; 
	$mode = "cfb";

	// calcul des longueurs max de la clé et de l'IV
	$key_size = mcrypt_module_get_algo_key_size($algo);
	$iv_size = mcrypt_get_iv_size($algo, $mode);
	
	
	
	// si, à ce stade, vous avez une erreur, c'est sans doute que soit l'algo, soit le mode ne sont
	// pas supportés par votre serveur. Utilisez mon script pour choisir des algo-modes compatibles.

	// création d'un IV aléatoire de la bonne longueur
	// vous pouvez mettre n'importe quoi dans $iv du moment qu'il est de la bonne longueur
	//$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
	$iv = "aluteret";
	// choix d'une clé secrète de cryptage/décryptage et mise à longueur
	$cle = "aadfthgjidefgrsgt";
	$cle = substr($cle, 0, $key_size);
	
	$crypte = $_GET["aDecrypter"];
	
	$deCrypte = mcrypt_decrypt($algo, $cle, $crypte, $mode, $iv);

	// affichage de contrôle
	echo $deCrypte;

?>

J’ai essayé en modifiant l’algo et le mode de chiffrement mais rien n’y fait !

Si quelqu’un à quelque chose à proposer, je suis preneur !

Merci d’avance.

Plutôt que de faire la redirection, affiche le mot crypté et retape-le dans la page de cryptage. Ça m’étonnerait pas que ce soit simplement un problème de passage en paramètre.

Ne chercher plus, j’ai trouvé ! Je vous fait quand même pervenir la solution merci quand même à Mandarounet de m’avoir mis sur la piste (jm’en doutais un pti peu quand même) et merci à tous pour votre forte participation !!

page testalgo.php

<html?gt;
<body>
<form method = "POST" action="testcryptage.php">
<input type="text" size="23" name="message"/>
</form>
</body>
</html?gt;

page testcryptage.php

<?
	$texte = $_POST["message"];
	// choix d'un algo, mode
	$algo = "gost"; // ou la constante php MCRYPT_BLOWFISH
	$mode = "cfb"; // ou la constante php MCRYPT_MODE_NOFB

	// calcul des longueurs max de la clé et de l'IV
	$key_size = mcrypt_module_get_algo_key_size($algo);
	$iv_size = mcrypt_get_iv_size($algo, $mode);
	$iv = "ydjskcgr";
	

	// choix d'une clé secrète de cryptage/décryptage et mise à longueur
	$cle = "aadfthgjidefgrsgt";
	$cle = substr($cle, 0, $key_size);

	// Phrase à crypter et cryptage
	$crypte = mcrypt_encrypt($algo, $cle, $texte, $mode, $iv);
	

	$crypte = base64_encode($crypte);
	$crypte = urlencode($crypte);
	
	header("Location: http://youraac.adexys/testdecryptage.php?crypte=$crypte");
	
?>

page testdecryptage.php

<?


if (isset($_GET["crypte"])) {
  
	
	$algo = "gost"; // ou la constante php MCRYPT_BLOWFISH
	$mode = "cfb"; // ou la constante php MCRYPT_MODE_NOFB

	// calcul des longueurs max de la clé et de l'IV
	$key_size = mcrypt_module_get_algo_key_size($algo);
	$iv_size = mcrypt_get_iv_size($algo, $mode);
	$iv = "ydjskcgr";
	

	// choix d'une clé secrète de cryptage/décryptage et mise à longueur
	$cle = "aadfthgjidefgrsgt";
	$cle = substr($cle, 0, $key_size);
	
	$crypte = $_GET["crypte"];
	$crypte = urldecode($crypte);
	$crypte = base64_decode($crypte);
	
	
	$deCrypte = mcrypt_decrypt($algo, $cle, $crypte, $mode, $iv);

  // affichage de contrôle
  echo $deCrypte;
	}
?>