Accueil > > > ALGORITHME DE CÉSAR SUR LA TABLE ASCII
ALGORITHME DE CÉSAR SUR LA TABLE ASCII
Information sur la source
Description
Bonjour, Alors voila, simple et basic, histoire d'apporté un regarde différent (Tout du moins par rapport aux codes du genre qui se compliquent la tête selon moi, dans phpcs) pour l'utilisation de l'algo de César sur la table Acsii.
Source
- <?php
- #--------------------------------------------------------------------------------------------
- # Function cesar(string $word, int $offset, int $mode)
- #
- # @$word -> La chaine à encrypter ou decrypter;
- # @$offset -> Le Nombre d'offset de decalage
- # @$mode -> 1 pour encrypter (Incrémenter), tout autre pour decripter (Decrementer)
- # return -> La chaine $word altéré grace à la methode de césar d'apres les tables ascii
- #
- # By Nementon, ---[http://uwht.u7n.org]---
- #---------------------------------------------------------------------------------------------
-
- function cesar($word, $offset, $mode) {
- $offset = intval($offset);
- $mode = intval($mode);
- $wLenght = strlen($word);
- $return = '';
-
- if ($mode == 1 ) {
- for ($i = 0; $i < $wLenght; $i++) {
- // On recuperer le code ascii
- $tmpAscii = ord($word[$i]);
- // On ajoute à la chaine finale, la corespondance du code ascii recuperé incrementé de l'offset passé en parametre
- $return .= chr($tmpAscii+$offset);
- }
- }
- else {
- for ($i = 0; $i < $wLenght; $i++) {
- $tmpAscii = ord($word[$i]);
- $return .= chr($tmpAscii-$offset);
- }
- }
- return $return;
- }
- #--------------------------------------------------------------------------------------------
- # function cesar2(string $word, int $offset, int $mode)
- #
- # @$word -> La chaine à encrypter ou decrypter;
- # @$offset -> Le Nombre d'offset de decalage
- # @$mode -> 1 pour encrypter (Incrémenter), tout autre pour decripter (Decrementer)
- # @return -> La chaine $word altéré grace à la methode de césar d'apres les tables ascii
- #
- #---------------------------------------------------------------------------------------------
- // Exemple de fonction césar un plus tortueuse
- function cesar2($word, $offset, $mode) {
- $offset = intval($offset);
- $mode = intval($mode);
- $wLenght = strlen($word);
- $return = '';
-
- if ($mode == 1 ) {
- for ($i = 0; $i < $wLenght; $i++) {
- // On recuperer le code ascii
- $tmpAscii = ord($word[$i]);
- $return .= chr($tmpAscii+$offset+(($i*$wLenght)-$i));
- }
- }
- else {
- for ($i = 0; $i < $wLenght; $i++) {
- $tmpAscii = ord($word[$i]);
- $return .= chr($tmpAscii-$offset-(($i*$wLenght)-$i));
- }
- }
- return $return;
- }
-
- //Exemple :
- echo '<b>Cesar : </b><br />', cesar("abc", 666, 1), // Encrypte;
- '<br />', cesar("ûüý", 666, 2), '<br /><br />'; // Decrypte
-
- //Exemple :
- $wEncrypte = cesar2("abcdefghijklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789", 666, 1);// Encrypte;
- echo '<b>Cesar 2 : <b/><br />', $wEncrypte, '<br />', cesar2($wEncrypte, 666, 2); // Decrypte
- ?>
<?php
#--------------------------------------------------------------------------------------------
# Function cesar(string $word, int $offset, int $mode)
#
# @$word -> La chaine à encrypter ou decrypter;
# @$offset -> Le Nombre d'offset de decalage
# @$mode -> 1 pour encrypter (Incrémenter), tout autre pour decripter (Decrementer)
# return -> La chaine $word altéré grace à la methode de césar d'apres les tables ascii
#
# By Nementon, ---[http://uwht.u7n.org]---
#---------------------------------------------------------------------------------------------
function cesar($word, $offset, $mode) {
$offset = intval($offset);
$mode = intval($mode);
$wLenght = strlen($word);
$return = '';
if ($mode == 1 ) {
for ($i = 0; $i < $wLenght; $i++) {
// On recuperer le code ascii
$tmpAscii = ord($word[$i]);
// On ajoute à la chaine finale, la corespondance du code ascii recuperé incrementé de l'offset passé en parametre
$return .= chr($tmpAscii+$offset);
}
}
else {
for ($i = 0; $i < $wLenght; $i++) {
$tmpAscii = ord($word[$i]);
$return .= chr($tmpAscii-$offset);
}
}
return $return;
}
#--------------------------------------------------------------------------------------------
# function cesar2(string $word, int $offset, int $mode)
#
# @$word -> La chaine à encrypter ou decrypter;
# @$offset -> Le Nombre d'offset de decalage
# @$mode -> 1 pour encrypter (Incrémenter), tout autre pour decripter (Decrementer)
# @return -> La chaine $word altéré grace à la methode de césar d'apres les tables ascii
#
#---------------------------------------------------------------------------------------------
// Exemple de fonction césar un plus tortueuse
function cesar2($word, $offset, $mode) {
$offset = intval($offset);
$mode = intval($mode);
$wLenght = strlen($word);
$return = '';
if ($mode == 1 ) {
for ($i = 0; $i < $wLenght; $i++) {
// On recuperer le code ascii
$tmpAscii = ord($word[$i]);
$return .= chr($tmpAscii+$offset+(($i*$wLenght)-$i));
}
}
else {
for ($i = 0; $i < $wLenght; $i++) {
$tmpAscii = ord($word[$i]);
$return .= chr($tmpAscii-$offset-(($i*$wLenght)-$i));
}
}
return $return;
}
//Exemple :
echo '<b>Cesar : </b><br />', cesar("abc", 666, 1), // Encrypte;
'<br />', cesar("ûüý", 666, 2), '<br /><br />'; // Decrypte
//Exemple :
$wEncrypte = cesar2("abcdefghijklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789", 666, 1);// Encrypte;
echo '<b>Cesar 2 : <b/><br />', $wEncrypte, '<br />', cesar2($wEncrypte, 666, 2); // Decrypte
?>
Conclusion
Bon, un peu useless pour surement 97% d'entre vous, mais ce code source la m'aurait bien aidé à mes début ; )
Tous commentaires sont les bienvenus.
Historique
- 04 décembre 2009 10:18:46 :
- - Ajout de l'exemple "césar2"
- 04 décembre 2009 10:34:05 :
- - Commentaires en moins ; )
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
j'ai une question! [ par louna_r ]
salut,j'ai consulté le php.net pour comprendre une fonction qui est chr() et ils ont dit qu'elle retourne une chaîne d'un seul caractèr
Passer du code ascii dans une url [ par pichpoich ]
Lorsque je passe un code ascii de type é dans une url pour afficher un texte après une saisie erronée par exemple, le caractère
valeur max et substitution [ par Jp2A ]
bonjour à tous voici ma question:imaginons la table membre avec les champs: pseudo et score.j'aimerais af
Reencodage caractere ascii [ par kishkaya ]
Bonjour,J'aimerais savoir si il existe en PHP une fonction pour réobtenir depuis une chaine de caractere une chaine ou les caracteres spéciaux sont ré
faire un graph en PHP à partir d'un fichier ASCII [ par poseidon1976 ]
Salut à tous,Je suis débutante en PHP.J'ai un programme en PHP qui me permet de tracer un graph mais à partir de données durs. J'aimerais savoir comme
chaines de substitution [ par slhuilli ]
bonjour,mon soucis d'hier est résolu, ca tourne.Je cherche maintenant une doc sur les chaines de substitution (%s and co) je m'en suis jamais servi e
convertir du texte en code ASCII ????? [ par zut69 ]
Bonsoir,Je chercherais une méthode pour convertir du texte en code ASCII, c est a dire une fonction qui me convertirait:$variable = "ab cd";en:$variab
insert code ASCII dans une table mysql [ par studenttours ]
bonjour,j'ai du code hexa que je transforme en texte(la fonction marche parfaitement), et lorsque j'insere le résultat dans une table mysql, il m'inse
Transformation de Ascii en caractère [ par Noizet ]
Hello,Est-ce qu'il existe une fonction qui transforme mon code ascii en caractère?Merci"NoiZet"
images en ASCII [ par novaflash ]
bonjour, néophyte absolu en PHP (et il y a des chances que je le reste!) je cherche un lien pour trouver une info relative à un petit script récupéré
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|