begin process at 2012 05 27 19:47:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > CRYPTAGE/DECRYPTAGE MCRYPT

CRYPTAGE/DECRYPTAGE MCRYPT


 Information sur la source

Note :
Aucune note
Catégorie :Sécurité & Cryptage Classé sous :Cryptage, Decryptage, Mcrypt Niveau :Débutant Date de création :28/04/2011 Date de mise à jour :28/04/2011 16:22:39 Vu :3 456

Auteur : sephirothgeek

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Formulaire de cryptage/decryptage simple, utilisation de 2 algo successif, utilisation du module Mcrypt http://php.net/manual/fr/book.mcrypt.php
Je debute en php donc ce code est loin d'etre parfait, si vous voulez un exemple de ce code:
http://sephirothgeek.com/outils/cryptage.php

Source

  • <?php
  • $request_url = $_SERVER['REQUEST_URI'];
  • $request_url = str_replace ( "&" , "&amp;" , $request_url);
  • /* L'utilisation de cette variable dans le formulaire est obligatoire pour passer le validateur du W3C */
  • echo "<div id='corps'>\n";
  • echo "<h1> Cryptage </h1>\n";
  • /*Encryptage*/
  • if ((isset($_POST['texte_crypter'])) AND (isset($_POST['cle_cryptage']))) {
  • /* Recuperation des POST */
  • $message = stripslashes($_POST['texte_crypter']);
  • $key = stripslashes($_POST['cle_cryptage']);
  • /*definition du 1er algorithme et du 1er mode */
  • $algo = "rijndael-256";
  • $mode = "cbc";
  • $td = mcrypt_module_open($algo, "", $mode, "");
  • $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
  • /*Tronquature de la cle si elle est trop grosse */
  • $size = mcrypt_enc_get_key_size($td);
  • $key = substr($key, 0, $size);
  • $iv_encode = base64_encode($iv);
  • /*Affichage de l'IV numero 1 */
  • echo "<span class='souligne'>Votre IV(1):</span><br><input type='text' value='$iv_encode'><br>";
  • /*Encryption numero 1 */
  • mcrypt_generic_init($td, $key, $iv);
  • $message_crypter_1 = mcrypt_generic($td, $message);
  • mcrypt_generic_deinit($td);
  • mcrypt_module_close($td);
  • $message_crypter_fini_1 = base64_encode($message_crypter_1);
  • /*definition du 2eme algorithme et du 2eme mode */
  • $algo = "serpent";
  • $mode = "cbc";
  • $td = mcrypt_module_open($algo, "", $mode, "");
  • $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
  • $iv_encode = base64_encode($iv);
  • /* Troncature de la clé */
  • $size = mcrypt_enc_get_key_size($td);
  • $key = substr($key, 0, $size);
  • /* Afficahge de la cle apres traitement */
  • echo "<span class='souligne'>Votre clé:</span><br><input type='text' value='$key'><br>";
  • /*Affichage de l'IV numero 2 */
  • echo "<span class='souligne'>Votre IV(2):</span><br><input type='text' value='$iv_encode'><br>";
  • /*Encryption numero 2 */
  • mcrypt_generic_init($td, $key, $iv);
  • $message_crypter_2 = mcrypt_generic($td, $message_crypter_fini_1);
  • mcrypt_generic_deinit($td);
  • mcrypt_module_close($td);
  • $message_crypter_fini_2 = base64_encode($message_crypter_2);
  • /*Affichage du message crypter */
  • echo "<span class='souligne'>Votre message crypter:</span><br><textarea cols=50 rows=8>$message_crypter_fini_2</textarea><br>";
  • }
  • /* Decryptage */
  • if ((isset($_POST['texte_decrypter'])) AND (isset($_POST['cle_decryptage'])) AND (isset($_POST['IV1'])) AND (isset($_POST['IV2']))) {
  • /* Recuperation des POST */
  • $texte_crypter = stripslashes($_POST['texte_decrypter']);
  • $cle_de_decryptage = stripslashes($_POST['cle_decryptage']);
  • /* Recuperation de l'iv 2 */
  • $iv_2 = stripslashes($_POST['IV2']);
  • $iv_2 = base64_decode($iv_2);
  • /* Recuperation de l'iv 1 */
  • $iv_1 = stripslashes($_POST['IV1']);
  • $iv_1 = base64_decode($iv_1);
  • /*definition du 1er algorithme et du 1er mode */
  • $algo_1 = "serpent";
  • $mode_1 = "cbc";
  • $td_1 = mcrypt_module_open($algo_1, "", $mode_1, "");
  • mcrypt_generic_init($td_1, $cle_de_decryptage, $iv_2);
  • /*Decryptage numero 1 */
  • $decryptage_1 = mdecrypt_generic($td_1, base64_decode($texte_crypter));
  • mcrypt_generic_deinit($td_1);
  • mcrypt_module_close($td_1);
  • $decryptage_fini_1 = $decryptage_1;
  • /*definition du 2eme algorithme et du 2eme mode */
  • $algo_2 = "rijndael-256";
  • $mode_2 = "cbc";
  • $td_2 = mcrypt_module_open($algo_2, "", $mode_2, "");
  • mcrypt_generic_init($td_2, $cle_de_decryptage, $iv_1);
  • /*Decryptage numero 2 */
  • $decryptage_2 = mdecrypt_generic($td_2, base64_decode($decryptage_fini_1));
  • mcrypt_generic_deinit($td_2);
  • mcrypt_module_close($td_2);
  • $decryptage_fini_2 = str_replace ( ">" , "&#155;" , $decryptage_2);
  • $decryptage_fini_2 = str_replace ( "<" , "&#139;" , $decryptage_fini_2);
  • $decryptage_fini_2 = str_replace ( " " , "&#160;" , $decryptage_fini_2);
  • $decryptage_fini_2 = str_replace ( "\0" , "" , $decryptage_fini_2);
  • $decryptage_fini_2 = stripslashes(nl2br($decryptage_fini_2));
  • /* Affichage du message decrypté*/
  • echo "<span class='souligne'>Votre message decrypter:</span><br><br>$decryptage_fini_2<br><br>";
  • }
  • echo "<form action='$request_url' method='post'>\n";
  • echo "Crypter ce texte :<br>\n";
  • echo "<textarea name='texte_crypter' cols=50 rows=2>\n";
  • echo "</textarea>\n";
  • echo "<br> Avec cette clé de cryptage (entrer un court texte au hasard a retenir):<br>\n";
  • echo "<input type='text' name='cle_cryptage' value=''>\n";
  • echo "<input type='submit' value='Encrypter' />\n";
  • echo "</form><br>\n";
  • echo "<h1> Decryptage </h1>";
  • echo "<form action='$request_url' method='post'>\n";
  • echo "Decrypter ce texte :<br>\n";
  • echo "<textarea name='texte_decrypter' cols=50 rows=2>\n";
  • echo "</textarea>\n";
  • echo "<br> Avec cette clé de decryptage:<br>\n";
  • echo "<input type='text' name='cle_decryptage' value=''>\n";
  • echo "<br> Avec ce IV(1):<br>\n";
  • echo "<input type='text' name='IV1' value=''>\n";
  • echo "<br> Avec ce IV(2):<br>\n";
  • echo "<input type='text' name='IV2' value=''>\n";
  • echo "<input type='submit' value='Decrypter' />\n";
  • echo "</form><br>\n";
  • echo "</div>\n";
  • ?>
<?php 

$request_url = $_SERVER['REQUEST_URI'];
$request_url = str_replace ( "&" , "&amp;" , $request_url); 
/* L'utilisation de cette variable dans le formulaire est obligatoire pour passer le validateur du W3C */

echo "<div id='corps'>\n";
echo "<h1> Cryptage </h1>\n";

/*Encryptage*/
if ((isset($_POST['texte_crypter'])) AND (isset($_POST['cle_cryptage']))) {

	/* Recuperation des POST */
	$message = stripslashes($_POST['texte_crypter']);
	$key = stripslashes($_POST['cle_cryptage']);
	
	/*definition du 1er algorithme et du 1er mode */
	$algo = "rijndael-256";
	$mode = "cbc";
	
	$td = mcrypt_module_open($algo, "", $mode, "");
	$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
	
	/*Tronquature de la cle si elle est trop grosse */
	$size = mcrypt_enc_get_key_size($td);
        $key = substr($key, 0, $size);
	
	$iv_encode = base64_encode($iv);
	
	/*Affichage de l'IV numero 1 */
	echo "<span class='souligne'>Votre IV(1):</span><br><input type='text' value='$iv_encode'><br>";
	
	/*Encryption numero 1 */
	mcrypt_generic_init($td, $key, $iv);
        $message_crypter_1 = mcrypt_generic($td, $message);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        $message_crypter_fini_1 = base64_encode($message_crypter_1);
	
	/*definition du 2eme algorithme et du 2eme mode */
	$algo = "serpent";
	$mode = "cbc";
	
	$td = mcrypt_module_open($algo, "", $mode, "");
	$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
	$iv_encode = base64_encode($iv);
	
	/* Troncature de la clé */
	$size = mcrypt_enc_get_key_size($td);
        $key = substr($key, 0, $size);
	
	/* Afficahge de la cle apres traitement */
	echo "<span class='souligne'>Votre clé:</span><br><input type='text' value='$key'><br>";
	
	/*Affichage de l'IV numero 2 */
	echo "<span class='souligne'>Votre IV(2):</span><br><input type='text' value='$iv_encode'><br>";
	
	/*Encryption numero 2 */
	mcrypt_generic_init($td, $key, $iv);
        $message_crypter_2 = mcrypt_generic($td, $message_crypter_fini_1);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        $message_crypter_fini_2 = base64_encode($message_crypter_2);
	
	/*Affichage du message crypter */
	echo "<span class='souligne'>Votre message crypter:</span><br><textarea cols=50 rows=8>$message_crypter_fini_2</textarea><br>";
}
/* Decryptage */
if ((isset($_POST['texte_decrypter'])) AND (isset($_POST['cle_decryptage'])) AND (isset($_POST['IV1']))  AND (isset($_POST['IV2']))) {

	/* Recuperation des POST */
	$texte_crypter = stripslashes($_POST['texte_decrypter']);
	$cle_de_decryptage = stripslashes($_POST['cle_decryptage']);
	
	/* Recuperation de l'iv 2 */
	$iv_2 = stripslashes($_POST['IV2']);
	$iv_2 = base64_decode($iv_2);
	/* Recuperation de l'iv 1 */
	$iv_1 = stripslashes($_POST['IV1']);
	$iv_1 = base64_decode($iv_1);

	/*definition du 1er algorithme et du 1er mode */
	$algo_1 = "serpent";
	$mode_1 = "cbc";
	
	$td_1 = mcrypt_module_open($algo_1, "", $mode_1, "");
	mcrypt_generic_init($td_1, $cle_de_decryptage, $iv_2);
	
	/*Decryptage numero 1 */
        $decryptage_1 = mdecrypt_generic($td_1, base64_decode($texte_crypter));
        mcrypt_generic_deinit($td_1);
        mcrypt_module_close($td_1);
        $decryptage_fini_1 = $decryptage_1;
	
	/*definition du 2eme algorithme et du 2eme mode */
	$algo_2 = "rijndael-256";
	$mode_2 = "cbc";
	
	$td_2 = mcrypt_module_open($algo_2, "", $mode_2, "");
	mcrypt_generic_init($td_2, $cle_de_decryptage, $iv_1);
	
	/*Decryptage numero 2 */
        $decryptage_2 = mdecrypt_generic($td_2, base64_decode($decryptage_fini_1));
        mcrypt_generic_deinit($td_2);
        mcrypt_module_close($td_2);
	$decryptage_fini_2 = str_replace ( ">" , "&#155;" , $decryptage_2); 
	$decryptage_fini_2 = str_replace ( "<" , "&#139;" , $decryptage_fini_2); 
	$decryptage_fini_2 = str_replace ( " " , "&#160;" , $decryptage_fini_2);
	$decryptage_fini_2 = str_replace ( "\0" , "" , $decryptage_fini_2);
        $decryptage_fini_2 = stripslashes(nl2br($decryptage_fini_2));
 	
	/* Affichage du message decrypté*/
	echo "<span class='souligne'>Votre message decrypter:</span><br><br>$decryptage_fini_2<br><br>";
}
echo "<form action='$request_url' method='post'>\n";
echo "Crypter ce texte :<br>\n";
echo "<textarea name='texte_crypter' cols=50 rows=2>\n";
echo "</textarea>\n";
echo "<br> Avec cette clé de cryptage (entrer un court texte au hasard a retenir):<br>\n";
echo "<input type='text' name='cle_cryptage' value=''>\n";
echo "<input type='submit' value='Encrypter' />\n";
echo "</form><br>\n";
echo "<h1> Decryptage </h1>";
echo "<form action='$request_url' method='post'>\n";
echo "Decrypter ce texte :<br>\n";
echo "<textarea name='texte_decrypter' cols=50 rows=2>\n";
echo "</textarea>\n";
echo "<br> Avec cette clé de decryptage:<br>\n";
echo "<input type='text' name='cle_decryptage' value=''>\n";
echo "<br> Avec ce IV(1):<br>\n";
echo "<input type='text' name='IV1' value=''>\n";
echo "<br> Avec ce IV(2):<br>\n";
echo "<input type='text' name='IV2' value=''>\n";
echo "<input type='submit' value='Decrypter' />\n";
echo "</form><br>\n";
echo "</div>\n";
?>

 Conclusion

J'espere que ca aura servi a quelqu'un ^^


 Historique

28 avril 2011 16:22:39 :
probleme d'indentation

 Sources du même auteur

GENERATEUR DE COMPTE POP OVH
INFORMATION SUR L'UTILISATEUR

 Sources de la même categorie

Source avec Zip Source avec une capture CAPTCHA AJAX ANTI-BOT par darkvador59
Source avec Zip Source avec une capture ACCÈS, ESPACE MEMBRE AVEC INSCRIPTION ET DÉSINSCRIPTION PAR ... par stephelle
Source avec Zip CRYPTAGE REVERSIBLE par Mokost
Source avec Zip Source avec une capture CREATION DE COMPTE AVEC CRYPTAGE ET ESPACE DE CONNEXION SEC... par bm1982
PROTÉGEZ VOS LIENS DE TÉLÉCHARGEMENT PAR MOT DE PASSE ET/OU ... par unlien

 Sources en rapport avec celle ci

CLASSE D'OBJET DE CRYPTAGE ET DÉCRYPTAGE DE CHAINES DE CARAC... par 8Tnerolf8
Source avec Zip CRYPTAGE REVERSIBLE par Mokost
Source avec Zip Source avec une capture CREATION DE COMPTE AVEC CRYPTAGE ET ESPACE DE CONNEXION SEC... par bm1982
ENCODEUR D'ADRESSES EMAILS par Boris090
CLASSE DE CHIFFREMENT DE DONNÉS AVEC MCRYPT par TychoBrahe

Commentaires et avis

Commentaire de ennajarslimane le 03/05/2011 11:06:09

merci pour votre efforts

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

cryptage et decryptage d'une chaine de caractère. [ par LocalStone ] Salut à tous ! Je cherche desepèrement une fonction, une classe ou n'importe quoi pour pouvoir crypter, puis decrypter une chaine de caractère. S'il v cryptage et libmcrypt [ par metos ] Bonjour, j'aimerais utiliser du cryptage AES en php avec la fonction :  mcrypt_module_open. Lors du chargement de la page l'erreur suivante se produit cryptage et decryptage de variable envoyer dans url [ par mandymoor ] sarah,bonjour tous le monde ,le titre indique ce que je veux si quelqu'un peux m'aider je vous remercie. fonction mcrypt bug - Comment avoir un cryptage PHP réversible et sur? [ par zzzzzz ] Bonjour, J'ai trouvé 2 fonctions pour chiffrer du texte sur php.net (utilisant mcrypt) : function Crypter($str, $key) { # Add PKCS7 padding. mcrypt problème d'encodage [ par zzzzzz ] Bonjour à tous, J'utilise une fonction (trouvé sur le net) utilisant mcrypt : function Crypter($str, $key) { # Add PKCS7 padding. $block = mcrypt : Can not create an IV with a size of less then 1 or [ par zzzzzz ] Bonjour j'utilise 2 fonctions, une pour crypter, une pour decrypter. Pour être franc je n'y comprend pas grand chose... J'ai essayé dans un fichier cryptage AES [ par metos ] Bonjour,     J'aurais besoin de crypter une donnée en AES avec une clé de 256bit. J'ai essayé avec la libraire mcrypte, le problème c'est qu'en utili cryptage mot de passe [ par biloutte33 ] Bonjour à tous,j'aimerais avoir un éclairement lol :j'ai une base de données avec un table membre et comme tout espace membre qui se respect, il y a d Cryptage symetire et asymetrie RSA et AES [ par ba1ali ] bonjour je cherche un code source en php de l'algorithme de cryptage RSA et AES merci d'avance Cherche algo de cryptage [ par caviar ] Saluté,je cherche un algo de cryptage pouvant encoder nimporte quel type de données (une image, un mp3, tu texte ...) en une suite de caractères impri


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales