Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2011, 10h15   #1
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
Par défaut Fonction de cryptage, comment ne renvoyer que des lettres ?

Bonjour à tous,

J'ai trouvé ces fonctions sur le net qui sont pas mal pour crypter des informations.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
	// génére la clé
	function generatekey($Chaine,$CleDEncryptage)
	{
	$CleDEncryptage = md5($CleDEncryptage);
	$Compteur=0;
	$VariableTemp = "";
	for ($Ctr=0;$Ctr<strlen($Chaine);$Ctr++)
		{
			if ($Compteur==strlen($CleDEncryptage))
			$Compteur=0;
			$VariableTemp.= substr($Chaine,$Ctr,1) ^ substr($CleDEncryptage,$Compteur,1);
			$Compteur++;
		}
 
	 return $VariableTemp;
	}
 
	// Génère le cryptage.
	function cryptage($Chaine,$Cle)
	{
		srand((double)microtime()*1000000);
		$CleDEncryptage = md5(rand(0,32000) );
		$Compteur=0;
		$VariableTemp = "";
		for ($Ctr=0;$Ctr<strlen($Chaine);$Ctr++)
		{
			if ($Compteur==strlen($CleDEncryptage))
			$Compteur=0;
			$VariableTemp.= substr($CleDEncryptage,$Compteur,1).(substr($Chaine,$Ctr,1) ^ substr($CleDEncryptage,$Compteur,1) );
			$Compteur++;
		}
		return base64_encode($this->generatekey($VariableTemp,$Cle) );
	}
 
	// Génère le décryptage.
	function decryptage($Chaine,$Cle)
	{
		$Chaine = $this->generatekey(base64_decode($Chaine),$Cle);
		$VariableTemp = "";
		for ($Ctr=0;$Ctr<strlen($Chaine);$Ctr++)
		{
			$md5 = substr($Chaine,$Ctr,1);
			$Ctr++;
			$VariableTemp.= (substr($Chaine,$Ctr,1) ^ $md5);
		}
		return $VariableTemp;
	}
Y a-t-il un moyen pour que la fonction generatekey ne produisent que des lettres (exemple "sdfasdfasdfawefasfsdd") sans aucun caractère spéciaux tel que ">, =, +" ?

Merci de votre aide.
__________________
Les cours: XHTML, CSS, PHP, Flash et Javascript
Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
Aucune question technique par MP.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2011, 10h46   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

2 choses :
- la fonction md5 ne devrait plus être utilisée, depuis qu'il a été démontré qu'il était possible de récupérer un même code de hashage à partir de deux chaines différentes. Ceci est d'autant plus vrai avec son utilisation dans une fonction de cryptage.
- pour ton problème de symboles dans la clé, il te suffit de la passer à la moulinette d'un base64_encode/decode.

Sinon au regard de l'algorithme, je ne pense pas qu'il soit possible d'éviter l'apparition de symboles.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 14h33   #3
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
Salut Rawsrc et merci de ta réponse !

Bah effectivement en utilisant : base64_encode/decode, ça fait exactement ce que je veux !

Merci !
__________________
Les cours: XHTML, CSS, PHP, Flash et Javascript
Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
Aucune question technique par MP.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web