Cryptage reversible

Description

Je vous propose une classe que j'ai crée il y a un moment pour crypter des mots de passe. Le but est de générer des chaines pseudo aléatoire qui une fois décodé redonne toute le même mot de passe. Je l'ai mise à jour et améliorée cette semaine. En principe un algorithme de cryptage ne doit pas être partagé mais je me suis dit que cela pourrait vous donner des idées pour en en faire. Et puis vu que ce script utilise des tableau de valeur, à partir du moment ou personne n'a les vôtre, il ne pourra rien faire.

En outre allez à l'adresse : http://ragnarok.gaming.cx/ccodage/table_generator.php pour générer une nouvelle fonction SetTable(fonction statique de la classe crypter) avec de nouveau tableau.

Source / Exemple :


include_once("crypter.class.php");
$crypt = new Crypter(false,15,6);
$ca=array();
for($i=0;$i<20;$i++)
{
	$cc = "php";
	$cu = $crypt->Encode($cc);
	$ca[] = $cu;
	echo $cc.' => '.$cu.'<br/>';
}
echo '<br/>';
for($i=0;$i<20;$i++)
{
	if(($cc = $crypt->Decode($ca[$i]))==false) $cc='erreur de la source';	
	echo $ca[$i].' => '.$cc.'<br/>';
}

sortie :

//encodage
php => EFgsch5gG5ILEZ9b
php => EzZfrr4mGMjg9YwjNn
php => vZVMHv3ZG0oPOQeRp
php => NJMlMVeKGELkZ5ub
php => Erl4AqoFGO7uT9Uv
php => NpEk25NqGbAujj3NS
php => EvTeRt8gGTxwc9bZ
php => NkRuyIXLG0iFEdnN
php => NSMy4PYQGEv4Q07p
php => ZmLovNXlGgVuYggyf
php => KR9DZsNbGT15KKko
php => vmybNvEzGFEmFFBz
php => Z1zMpQn3GJwmHH0s
php => ZbzV5OnuGQw6ivvbV
php => ErlWQwu3GgK0hUP6O
php => EblNhE4fGgRuggsE
php => ZOiOg0R4Glekllb6
php => veyiFvEJGTJJ9cpZ
php => EUlc7DMTGlecllv6
php => NIRCsOAuGg5bggqf

//décodage;
EFgsch5gG5ILEZ9b => php
EzZfrr4mGMjg9YwjNn => php
vZVMHv3ZG0oPOQeRp => php
NJMlMVeKGELkZ5ub => php
Erl4AqoFGO7uT9Uv => php
NpEk25NqGbAujj3NS => php
EvTeRt8gGTxwc9bZ => php
NkRuyIXLG0iFEdnN => php
NSMy4PYQGEv4Q07p => php
ZmLovNXlGgVuYggyf => php
KR9DZsNbGT15KKko => php
vmybNvEzGFEmFFBz => php
Z1zMpQn3GJwmHH0s => php
ZbzV5OnuGQw6ivvbV => php
ErlWQwu3GgK0hUP6O => php
EblNhE4fGgRuggsE => php
ZOiOg0R4Glekllb6 => php
veyiFvEJGTJJ9cpZ => php
EUlc7DMTGlecllv6 => php
NIRCsOAuGg5bggqf => php

Conclusion :


J’espère qu'elle vous sera utile de par sa réversibilité. La taille de la chaine de sortie est assez conséquente c'est pour cela qu'il vaut mieux l’utiliser pour les mots de passe ou pour transmettre des ID par Get(ex: www.unsite.fr/?article=6H9GF8LFFdK). Rien ne vous empêche d'encoder un texte mais gare à la taille.

Codes Sources

A voir également

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.