César plus (cryptage, décryptage avec clé aléatoire)

Soyez le premier à donner votre avis sur cette source.

Vue 25 703 fois - Téléchargée 888 fois

Description

Cesar Plus

Cesar Plus permet de crypter et décrypter un texte avec la méthode de Jules César mais amélioré.

Ainsi pour chaque texte codé vous obtenez un clé de 8 charactères permettant de décrypter votre texte.

Voir la capture ou sur l'exemple disponibl en ligne à http://ndwc.fwhost.net

Source / Exemple :


<?
/*
Cesar_Plus($chaine,$choix,$pos,$pass,$mode);

Var:
$chaine : chaine à (dé)crypter
$choix  : nombre de décalage de lettres 
$pos    : sens de décallage : 
	  "-1" vers la gauche
	  "1"  vers la droite 
$pass   : clé pour le décryptage
$mode   : mode de fonctionnement :  
	  "-1" cryptage
	  "1"  décryptage 

Limit :
$chaine : limit à 60000 caractères
$choix  : limit à 200
$pass   : 8 caractères héxa

Conseil :
mélanger la chaine $test

  • /
function Cesar_Plus($chaine,$choix,$pos,$pass,$mode){ global $chaine,$pass; $test="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ !#%&')+,-./:>=@]^_`{}~²|éà赀£š"; $uncode=0; //uncode pass if($mode==1){ if(strlen($pass)-8==0){ $k1=hexdec($pass[0]); if($k1>=2 and $k1<=14){ $k2=$k1/2; if(($k1%2)!=0){$k2+=.5;} $nb=hexdec(substr($pass,1,4)); $pos=hexdec($pass[5]); $choix=hexdec(substr($pass,6,2)); if(($pos-$k1)==1 or ($pos-$k1+2)==1){ $pos-=$k1; $choix=-255+$choix+$k1+$k2; $choix*=-1; $nb-=65355; $nb/=-$k2; $pos=-$pos; } else{$uncode=1;} } else{$uncode=1;} } else{$uncode=1;} } //cesar if($uncode==0 or $mode==-1){ for($i=0;$i<strlen($chaine);$i++){ if(strpos($test, $chaine[$i]) !== false){ $j=strpos($test,substr($chaine,$i,1)); if($pos=="-1"){ $j -= $choix; while($j<0){$j +=strlen($test);} } else{ $j += $choix; while($j+1>strlen($test)){$j -=strlen($test);} } $chaine[$i]=$test[$j]; } } } //codage if($mode==-1){ $nb=rand(0,strlen($chaine)-1); for($i=0;$i<$nb;$i++){ $test=$chaine[$i]; $chaine[$i]=$chaine[$i+1]; $chaine[$i+1]=$test; } $chaine=strrev($chaine); } //uncodage if($mode==1){ if($uncode==1){$nb=0;} $chaine=strrev($chaine); for($i=$nb;$i>0;$i--){ $test=$chaine[$i]; $chaine[$i]=$chaine[$i-1]; $chaine[$i-1]=$test; } } //code pass if($mode==-1){ $k1=rand(2,14); $k2=$k1/2; if(($k1%2)!=0){$k2+=.5;} $pos+=$k1; $choix-=255-$k1-$k2; $choix*=-1; $nb=65355-($nb*$k2); $pass=dechex($k1).dechex($nb).dechex($pos).dechex($choix); } } ?>

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Merci pour ce script ! Il n'est peut-être pas très "sécurisé" comme diront certains, mais tout dépend de l'utilisation qu'on en fait.
Je m'en servirai pour crypter les messages privés des membres dans la base de données de mon forum.
C'est exactement ce dont j'avais besoin et ce que j'aurais cherché à faire par moi-même si je n'avais pas trouvé ton partage :
un admin qui passerait sur la bdd ne pourrait pas lire "par hasard" un message privé.
Et second avantage : la chaîne chiffrée ne prend pas davantage de place en base que la chaîne originale.
Par contre un petit bémol avec une erreur php pour certaines clées, il faudra que j'essaye de corriger ça..
Mais sinon ça marche bien ! Encore merci pour le partage !
Messages postés
193
Date d'inscription
mercredi 1 septembre 2010
Statut
Membre
Dernière intervention
12 juin 2013

Bon cryptage, même si il faudrait essayer d'approfondir la sécurité dont sa a été crypté.

Cordialement, Maxou56800.
Messages postés
2
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
6 août 2010

please somebody help am tell me how i decript the point of sale information?
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
c'est sur qu'il y a un grand travail sur ce script, mais c'est pas sécurisé, faut bien l'admettre...

Il y a un effort par rapport à césar, et par rapport à enigma, mais il n'en reste pas moins insécurisé...
Messages postés
31
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
7 octobre 2004

Malgrè ce que dises les autres personnes, je pense que ce script fonctionne bien et que je ne vois pas pourquoi un petit site perso qui ne cache aucun grand secret devrait avoir une sécurité du type XXI eme siècle indécryptable en mettant tout les ordinateurs du monde en réseau pour trouver une clé ...
Franchement ton script marche très bien et je m'arrêtrai à celui là pour faire mon site.

Je te remercie, et mettre 1/20 à un script même si il est dépassé c'est vraiment être bête, parce qu'un script aussi complexe ne devrait pas être sous-noté !!
Afficher les 16 commentaires

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.