PHP+cryptage de texte

Fermé
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 - 18 mai 2010 à 11:02
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 - 18 mai 2010 à 12:53
Bonjour,

J'ai vu qu'il est possible de crypter un mot de passe dans une base de donnée.

Je me demandais s'il existe un fonction de cryptage / décryptage de texte en php...




A voir également:

4 réponses

Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 690
18 mai 2010 à 12:53
J'ai crée ce script, mais lorsque je lui demande d'afficher le résultat du cryptage, ici $texte_trait... il m'affiche Array... Mais je ne trouve pas la connerie que j'ai faite.

<p align="center">
<form action="index.php" method="post">
Crypter <input type="radio" name="mode" value="C" checked />
Décrypter <input type="radio" name="mode" value="D" /><br />
<input type="text" name="texte" /><br />
<input type="submit" value="OK" />
</form>
</p>

<?php
if(isset($_POST['mode']))
{
	if($_POST['mode']=='C')
		$inc = 20;
	else
		$inc = -20;
	$texte_av_trait = $_POST['texte'];
	
	$texte_trait[] = array();
	
	for($p=0;$p<strlen($texte_av_trait);$p++)
	{
		$asc = ord($texte_av_trait[$p]);
		$asc2 = $asc + $inc;
		
		if($asc2<0)
			$asc2 = 256+$asc2;
		else if($asc2>255)
			$asc2 = $asc2-256;
		$texte_trait[]=chr($asc2);
	}
	for($p=0;$p<strlen($texte_av_trait);$p++)
	{
		echo $texte_av_trait[$p]." - ".$texte_trait[$p]."<br />";
	}

	?>
	<p align="center"><?php echo "<br />".$texte_av_trait." -> ".$texte_trait;?></p>

	<?php
}
?>


Pourtant quand je veux l'afficher, caractères après caractères, cela fonctionne... une idée ?
1
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
18 mai 2010 à 12:04
Bonjour,

tu as la fonction crypt($text) qui crypte $text, cependant il n'existe pas de fonction de décryptage.
De même pour les hachages avec les fonctions suivantes md5($text) et sha1($text)

Après, tu peux créer ta propre fonction de cryptage/décryptage :-)

Va faire un tour sur php.net ;-)

A+
Gaerebut
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 690
18 mai 2010 à 12:11
Je pense que je vais en créer une... je l'avais déjà fais mais elle était trop lourde est sujette aux erreurs.
J'avais, à l'époque, utilisé une liste de caractère et j'incrémentais ou décrémentais la position dans cette liste pour réaliser un semblant de cryptage...

Je pense maintenant à utiliser l'ASCII.
Cependant, connaissant le C, j'ai essayé de faire du transtypage... mais le PHP ne semble pas gérer ça.

J'ai essayé:


$car='A';
echo (int)$car;



Comme je l'aurais fais en C pour avoir le code ASCII du caractère, cependant, j'obtiens 0...
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
18 mai 2010 à 12:19
Re,

tu peux tout à fait faire du transtypage comme ceci:

<?php
$chaine = "2000"; // Ici, $chaine vaut 2000 mais en tant que String
$entier = (int) $chaine; // entier vaudra $chaine mais casté en tant que Integer
// Autres possibles: (String) (Bool) (Int) (Float) etc ...
?>

De plus, tu peux utiliser les 2 fonctions suivantes pour ton algorithme (renseigne toi sur php.net après):

chr() et ord()

A+
Gaerebut
0