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.