Class mcrypt

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 335 fois - Téléchargée 28 fois

Contenu du snippet

gestion de la class mcrypt, c'est la version préalphabêta si vous voyez :)
je la poste pour voir les améliorations que d'autres pourront apporter.

Source / Exemple :


<?php

class mcrypt {
var $algorithm = MCRYPT_TRIPLEDES;
var $mode = MCRYPT_MODE_CFB;
var $defKey ='54087c0be6244cb2755efa439469302d';
var $key;

	function mcrypt($arg = NULL)
	{
	
		if($arg == NULL)
		{
		
			$this->key = $this -> defKey;
		
		}	else {
			
			$this->key = $arg;
		}

		$this->openModule();
	
	}
	
	function openModule()
	{

		if($this->td = @mcrypt_module_open($this ->algorithm,'',$this ->mode,''))
		{
		
			$this -> createIv();
		
		}	else {
		
			trigger_error('Open module failt',E_USER_ERROR);
			
		}//end if
	
	}
	
	
	function createIv()
	{
	
		if($this -> size = @mcrypt_get_iv_size ($this ->algorithm, $this->mode))
		{
			
			if($this -> iv = @mcrypt_create_iv($this->size,MCRYPT_RAND))
			{
			
					mcrypt_generic_init ($this -> td, substr($this->key,0,mcrypt_enc_get_key_size($this -> td)), $this -> iv);

				
			} else {

				trigger_error('mcrypt_create_iv failt',E_USER_ERROR);
				
			}//end if
		
		} else {
		
			trigger_error('mcrypt_get_iv_size failt',E_USER_ERROR);
		
		}//end if
	
	}//end function
	
	function encrypt($string)
	{
	
		return mcrypt_generic ($this -> td, $string);
		
	}
	
	function decrypt($string)
	{
	
		return mdecrypt_generic($this -> td,$string);
	
	}
	
	function closeMcrypt()
	{
	
	    mcrypt_generic_deinit ($this->td);
		mcrypt_module_close ($this->td);

	
	}

}
?>

Conclusion :


alors, pour l'utiliser:

<?
require_once('crypt.php') //dépendra du nom de votre fichier

$mcryp = new mcrypt(); //vous pouvez définir votre prore password new mcrypt('VotrePass');

$mcrypt->encrypt('Votre texte secret');

$mcrypt->decrypt('Votre texte crypter');//doit être décrypter avec le pass d'encryption :)

$mcrypt->closeMcrypt(); //ferme le module;

//----------- divers ------------------

$mcrypt->listAlgo(); //voir les algorithm installés chez votre provider;
$mcrypt->listMode();//idem mais pour les différents mode

?>

voilà, reste plus qu'a l'améliorer et le redistribuer

A voir également

Ajouter un commentaire

Commentaires

Messages postés
42
Date d'inscription
lundi 9 octobre 2000
Statut
Membre
Dernière intervention
12 novembre 2003

http://be2.php.net/manual/fr/function.mcrypt-module-open.php

l'interêt est d'apprendre tout simplement
Messages postés
399
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
6 septembre 2004

???
je vois pas l'intérêt, les fonctions sont déjà toutes prêtes... non ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.