malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
6 mars 2007 à 22:18
AzrethUberFan -
9 nov. 2015 à 14:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
bonjour dans ton code le chiffrage de a ne marche pas car la position 26 de ton $Charset n'est pas défini a la ligne :
if ( $Action )
{
if ( ($Result = $Pos + $Clef) > $CharsetLen )
$Result = $Result - $CharsetLen;
}
si on prends z avec un décalage de 1 nous avons une erreur il faut remplacer
if ( ($Result = $Pos + $Clef) > $CharsetLen )
par
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
voila en espérant avoir pu aidé.
amicalement
il faudrait ajouté un = dans la ligne 28 car il y a un bug quand le décalage arrive sur 'a' on obtient une notice
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
il faudrait ajouté un = dans la ligne 28 car il y a un bug quand le décalage arrive sur 'a' on obtient une notice
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
il faudrait ajouté un = dans la ligne 28 car il y a un bug quand le décalage arrive sur 'a' on obtient une notice
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
bonjour dans ton code le chiffrage de a ne marche pas car la position 26 de ton $Charset n'est pas défini a la ligne :
if ( $Action )
{
if ( ($Result = $Pos + $Clef) > $CharsetLen )
$Result = $Result - $CharsetLen;
}
si on prends z avec un décalage de 1 nous avons une erreur il faut remplacer
if ( ($Result = $Pos + $Clef) > $CharsetLen )
par
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
voila en espérant avoir pu aidé.
amicalement
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024344 12 nov. 2013 à 00:53
Bonjour Leilou.
comment vous l'exécutez ?
Heu.. c'est du PHP.. donc on ne l'exécute pas proprement dit...
Pour l'utiliser tu copie/colle le code dans ta page PHP et tu l'utilise comme indiqué dans l'exemple :
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 9 mars 2007 à 21:16
Hello
Apres quelques reflexions, je me suis apercu que mon code n'etait pas bugge, bien au contraire ...
Si tu regardes bien (FhX), $Result n'est jamais initalise a NULL car dans
Le if ( ($Result = $Pos + $Clef) > $CharsetLen ) initialise $Result ET le compare a $CharsetLen. A aucun moment $Result a une valeur indefinie ... :p
@++
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 7 mars 2007 à 20:33
Arf mais oui, comment j'ai pas pu voir sa ?
J'ai fusionne plusieurs esquisses d'algo avant d'ecrire celui la, d'ou la presence de $Result... Je retravail sa dessuite !
Merci
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 7 mars 2007 à 20:02
Y'a quand meme un truc qui me chiffone. Imaginons un processus de cryptage (ca marche aussi pour le décryptage) :
Si $pos+$clef > $longeur_du_charset Alors $Result -= $longueur_du_charset.
Oui, mais si $pos+$clef < $longueur_du_charset... $Result est NULL.
(pardon, indéfini je devrais dire).
Hors après, y'a ca :
# $Msg[$i] = $Charset[$Result];
$Msg indicé de $i recoit la valeur de $Charset indicé de $Result... oui mais si $Result vaut NULL... y'a pas comme une erreur ? ;)
C'est pareil pour le décryptage.
Vala :)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 7 mars 2007 à 19:23
non, faire un :
for ($i=0, $len=strlen($Msg); $i<$len; $i++) {
//
}
Simplement pour l'écriture :)
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 7 mars 2007 à 18:56
"mais ca sert a quoi de coder ca ?"
-> culture personnelle (faut bien commencer quelque part)
-> j'ai dit que j'en avais eu besoin et que j'avais rien trouver de palpitant sur phpcs alors je postais sa ou cas ou quelqu'un soit dans la meem situation que moi (et il me fallait en php, pas en js)
-> sur le lien que j'ai donne, l'auteur s'amuse meme a casser une phrase complete en javascript alors en C... autant utiliser une pelleteuse pour manger a la cuilliere ^^
"[...]alors que ca se casse en meme pas une demie seconde[...]"
Relis mon message :
"{...]il est evident que ce type de securite (si on peut appeller sa comme sa tellement c'est faible) est a proscrire imperativement, c'est juste pour l'exemple. N'allait pas me dire que AES, DES RSA & companie sont mieux, je le sais bien ;-)[...]"
C'est pourtant ecris noir sur blanc : je sais que c'est facile a casser d'autant que j'ai lourdement insiste dessus donc je vois pas trop l'interet de ton post (sans vouloir etre agressif ni sur la defensive bien entendu)
"Qu'est ce que je peux arriver à faire des trucs aussi moche des fois :D"
J'avoue ^^ Mais sa reste stylee quand meme ;-) Tu m'impressioneras toujours autant FhX ^^
"$MsgLen strlen($Msg);
> à mettre dans la déclarative du for() :p"
Comment sa ? Faire un for( $i; $i<strlen($Msg); $i++ ) ? Si je ne me trompe pas, sa fait qu'a chaque tour de boucle, je revalue la longueur de la chaine ? Pas top niveau performance... ou alors je comprend mal ce que tu as voulue me dire ?
@++
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 7 mars 2007 à 16:54
Ah si, fallait bien que je sorte un truc spécial optimisation de ouf qui change pas grand chose :D
$MsgLen strlen($Msg);
> à mettre dans la déclarative du for() :p
J'ai pas pu m'en empécher :(
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 7 mars 2007 à 16:52
Qu'est ce que je peux arriver à faire des trucs aussi moche des fois :D
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 7 mars 2007 à 08:34
mais ca sert a quoi de coder ca ? (on en voit partout : ici, sur javascriptfr ect...) alors que ca se casse en meme pas une demie seconde... j'ai code un truc en cpp pour le casser...
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 7 mars 2007 à 01:06
Hello
Merci pour ton commentaire ;-)
Le chiffre de Cesar, c'est un algo de substitution de lettre dans une phrase. Le mieux est que tu regardes ce site : http://www.apprendre-en-ligne.net/crypto/cesar/index.html, il t'expliquera surement mieux que moi.
Je multiplie $Result par -1 pour le rendre positif car il est forcement negatif dans le bout de code que tu indiques. Cela viendrait effectivement a faire un --$Result donc un +$Result mais par habitude, mieux vaut multiplier par -1.
"Le 2d truc : je suis nul en math ... mais vraiment nul hein"
Je parie que je suis encore plus nul que toi, et c'est pas une blague :-( lol
Pour le typage des var, c'est vrai que c'est mieux. Je le fait pourtant quand je fais du C/C++ mais en php, j'ai pas encore l'habitude. J'avais deja remarque sur tes codes que tu le faisais, mais j'arrive pas a l'integrer dans mes codes (surtout quand je travail avec DOM et XPATH... je vois pas ce que je pourrais mettre pour indiquer le type). Il me manque une declaration avant (j'ai commence par le C donc il me faut un int, char ou n'importe quoi d'autres). Je sais que c'est idiot mais je vais quand meme essayer de faire un efort a l'avanenir.
@++
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 6 mars 2007 à 22:18
Hello :-)
Aucune idée de ce qu'est le chiffre de César, mais c'est correctement codé :-)
2 chose simplement : tu devrais prendre l'habitude de typer tes variables. Enfin, "tu devrais"...non, c'est toi qui vois :-) Mais perso, j'aime bien voir par exemple : $sMsg, parce que je sais de suite que c'est une variable de type string, ou $iPos, parce que je sais de suite que c'est une variable de type int.
Mais c'est juste une habitude...
Le 2d truc : je suis nul en math ... mais vraiment nul hein. Mais $Result * (-1), c'est pas équivalent à -$Result ?
Sinon c'est bien, pas pompeux, clair, concis...bien :-)
9 nov. 2015 à 14:55
comment contacter une personne aussi forte que toi ?
9 nov. 2015 à 14:55
9 nov. 2015 à 14:55
9 nov. 2015 à 14:53
9 nov. 2015 à 14:53
9 nov. 2015 à 14:52
9 nov. 2015 à 14:52
if ( $Action )
{
if ( ($Result = $Pos + $Clef) > $CharsetLen )
$Result = $Result - $CharsetLen;
}
si on prends z avec un décalage de 1 nous avons une erreur il faut remplacer
if ( ($Result = $Pos + $Clef) > $CharsetLen )
par
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
voila en espérant avoir pu aidé.
amicalement
9 nov. 2015 à 14:50
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
9 nov. 2015 à 14:49
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
9 nov. 2015 à 14:47
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
9 nov. 2015 à 14:40
if ( $Action )
{
if ( ($Result = $Pos + $Clef) > $CharsetLen )
$Result = $Result - $CharsetLen;
}
si on prends z avec un décalage de 1 nous avons une erreur il faut remplacer
if ( ($Result = $Pos + $Clef) > $CharsetLen )
par
if ( ($Result = $Pos + $Clef) >= $CharsetLen )
voila en espérant avoir pu aidé.
amicalement
12 nov. 2013 à 00:53
Heu.. c'est du PHP.. donc on ne l'exécute pas proprement dit...
Pour l'utiliser tu copie/colle le code dans ta page PHP et tu l'utilise comme indiqué dans l'exemple :
11 nov. 2013 à 23:02
9 mars 2007 à 21:16
Apres quelques reflexions, je me suis apercu que mon code n'etait pas bugge, bien au contraire ...
Si tu regardes bien (FhX), $Result n'est jamais initalise a NULL car dans
if ( $Action )
{
if ( ($Result = $Pos + $Clef) > $CharsetLen )
$Result = $Result - $CharsetLen;
}
Le if ( ($Result = $Pos + $Clef) > $CharsetLen ) initialise $Result ET le compare a $CharsetLen. A aucun moment $Result a une valeur indefinie ... :p
@++
7 mars 2007 à 20:33
J'ai fusionne plusieurs esquisses d'algo avant d'ecrire celui la, d'ou la presence de $Result... Je retravail sa dessuite !
Merci
7 mars 2007 à 20:02
# if ( $Action )
# {
# if ( ($Result = $Pos + $Clef) > $CharsetLen )
# $Result = $Result - $CharsetLen;
# }
Si $pos+$clef > $longeur_du_charset Alors $Result -= $longueur_du_charset.
Oui, mais si $pos+$clef < $longueur_du_charset... $Result est NULL.
(pardon, indéfini je devrais dire).
Hors après, y'a ca :
# $Msg[$i] = $Charset[$Result];
$Msg indicé de $i recoit la valeur de $Charset indicé de $Result... oui mais si $Result vaut NULL... y'a pas comme une erreur ? ;)
C'est pareil pour le décryptage.
Vala :)
7 mars 2007 à 19:23
for ($i=0, $len=strlen($Msg); $i<$len; $i++) {
//
}
Simplement pour l'écriture :)
7 mars 2007 à 18:56
-> culture personnelle (faut bien commencer quelque part)
-> j'ai dit que j'en avais eu besoin et que j'avais rien trouver de palpitant sur phpcs alors je postais sa ou cas ou quelqu'un soit dans la meem situation que moi (et il me fallait en php, pas en js)
-> sur le lien que j'ai donne, l'auteur s'amuse meme a casser une phrase complete en javascript alors en C... autant utiliser une pelleteuse pour manger a la cuilliere ^^
"[...]alors que ca se casse en meme pas une demie seconde[...]"
Relis mon message :
"{...]il est evident que ce type de securite (si on peut appeller sa comme sa tellement c'est faible) est a proscrire imperativement, c'est juste pour l'exemple. N'allait pas me dire que AES, DES RSA & companie sont mieux, je le sais bien ;-)[...]"
C'est pourtant ecris noir sur blanc : je sais que c'est facile a casser d'autant que j'ai lourdement insiste dessus donc je vois pas trop l'interet de ton post (sans vouloir etre agressif ni sur la defensive bien entendu)
"Qu'est ce que je peux arriver à faire des trucs aussi moche des fois :D"
J'avoue ^^ Mais sa reste stylee quand meme ;-) Tu m'impressioneras toujours autant FhX ^^
"$MsgLen strlen($Msg);
> à mettre dans la déclarative du for() :p"
Comment sa ? Faire un for( $i; $i<strlen($Msg); $i++ ) ? Si je ne me trompe pas, sa fait qu'a chaque tour de boucle, je revalue la longueur de la chaine ? Pas top niveau performance... ou alors je comprend mal ce que tu as voulue me dire ?
@++
7 mars 2007 à 16:54
$MsgLen strlen($Msg);
> à mettre dans la déclarative du for() :p
J'ai pas pu m'en empécher :(
7 mars 2007 à 16:52
# {
# if ( ($Result = $Pos + $Clef) > $CharsetLen )
# $Result = $Result - $CharsetLen;
# }
# else
# {
# if ( ($Result = $Pos - $Clef) < 0 )
# $Result = $CharsetLen - ($Result * (-1));
# }
$Result = ( $Action && ( ($Pos + $Clef) > $CharsetLen ) ) ?
($Pos + $Clef) - $CharsetLen :
( !$Action && ( ($Pos - $Clef) < 0 ) ) ?
$CharsetLen - ( -($Pos - $Clef) ) :
NULL;
Qu'est ce que je peux arriver à faire des trucs aussi moche des fois :D
7 mars 2007 à 08:34
7 mars 2007 à 01:06
Merci pour ton commentaire ;-)
Le chiffre de Cesar, c'est un algo de substitution de lettre dans une phrase. Le mieux est que tu regardes ce site : http://www.apprendre-en-ligne.net/crypto/cesar/index.html, il t'expliquera surement mieux que moi.
Je multiplie $Result par -1 pour le rendre positif car il est forcement negatif dans le bout de code que tu indiques. Cela viendrait effectivement a faire un --$Result donc un +$Result mais par habitude, mieux vaut multiplier par -1.
"Le 2d truc : je suis nul en math ... mais vraiment nul hein"
Je parie que je suis encore plus nul que toi, et c'est pas une blague :-( lol
Pour le typage des var, c'est vrai que c'est mieux. Je le fait pourtant quand je fais du C/C++ mais en php, j'ai pas encore l'habitude. J'avais deja remarque sur tes codes que tu le faisais, mais j'arrive pas a l'integrer dans mes codes (surtout quand je travail avec DOM et XPATH... je vois pas ce que je pourrais mettre pour indiquer le type). Il me manque une declaration avant (j'ai commence par le C donc il me faut un int, char ou n'importe quoi d'autres). Je sais que c'est idiot mais je vais quand meme essayer de faire un efort a l'avanenir.
@++
6 mars 2007 à 22:18
Aucune idée de ce qu'est le chiffre de César, mais c'est correctement codé :-)
2 chose simplement : tu devrais prendre l'habitude de typer tes variables. Enfin, "tu devrais"...non, c'est toi qui vois :-) Mais perso, j'aime bien voir par exemple : $sMsg, parce que je sais de suite que c'est une variable de type string, ou $iPos, parce que je sais de suite que c'est une variable de type int.
Mais c'est juste une habitude...
Le 2d truc : je suis nul en math ... mais vraiment nul hein. Mais $Result * (-1), c'est pas équivalent à -$Result ?
Sinon c'est bien, pas pompeux, clair, concis...bien :-)