NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
2 mars 2011 à 19:24
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
14 juin 2015 à 14:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
La source manque des fichiers.
Merci de mètre votre code complet sans quoi elle ne sert à rien.
Cordialment
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 4 mars 2011 à 05:09
@Translation avec le carré de Vigenère.vb : AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
Si tu regardes bien il existe une relation entre les deux lettres et la lettre qu'ils forment, qui peut s'exprimer par une formule si tu convertis tes caractères en nombres. Ceci se fait par la fonction Convert.ToChar (comme l'a souligné NHenry), tu peux alors appliquer la formule (que tu peux trouver toi-même avec un peu d'analyse, convertis en nombre et regarde ensuite le pattern). Une fois que c'est fait, tu peux reconvertir les nombres en caractères avec une autre fonction (à toi de trouver). Courage !
Cordialement, Bacterius !
Jeromedu79
Messages postés119Date d'inscriptiondimanche 9 janvier 2011StatutMembreDernière intervention23 décembre 20121 3 mars 2011 à 10:11
Bonjour,
Déjà merci d'avoir pris le temps de regarder ma source :)
Pour :
While 1
If Key.Length > LongeurClair Then
Exit While
Else
NewKey = NewKey + Key
LongeurClair = LongeurClair - Key.Length
End If
End While
NewKey = NewKey + Key.Substring(0, LongeurClair)
c'est juste que j'avais oublier de le remplacer, mais ne t inquiète pas, tu as déjà résolu ce problème (sur le forum l'autre jour) et je t'en remercie encore une fois.
Pour la fonction crypté, je les mis en commentaire, je me suis pas trop penchez sur la question de comment le simplifier.
Il n'y a pas d'autre moyen de le faire sans le select case ?
car à ma façons, on arrive à 4 000 lignes ...
Merci
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 2 mars 2011 à 19:24
Bonjour,
Déjà parlons du code (je n'ai pas testé l'exécution) :
mais :
While 1
If Key.Length > LongeurClair Then
Exit While
Else
NewKey = NewKey + Key
LongeurClair = LongeurClair - Key.Length
End If
End While
NewKey = NewKey + Key.Substring(0, LongeurClair)
Sera avantageusement remplacé par :
While NewKey.Length< Clair.Length
NewKey = NewKey + Key
End While
NewKey = NewKey.Substring(0, Clair.Length)
Ensuite, j'ai été effrayé par la fonction Crypter de la classe ...
Pour récupérer le caractère à partir du code ASCII
Convert.ToChar(65)
Pour l'autre sens, je te laisse chercher.
14 juin 2015 à 14:48
14 juin 2015 à 12:40
Merci de mètre votre code complet sans quoi elle ne sert à rien.
Cordialment
4 mars 2011 à 05:09
Si tu regardes bien il existe une relation entre les deux lettres et la lettre qu'ils forment, qui peut s'exprimer par une formule si tu convertis tes caractères en nombres. Ceci se fait par la fonction Convert.ToChar (comme l'a souligné NHenry), tu peux alors appliquer la formule (que tu peux trouver toi-même avec un peu d'analyse, convertis en nombre et regarde ensuite le pattern). Une fois que c'est fait, tu peux reconvertir les nombres en caractères avec une autre fonction (à toi de trouver). Courage !
Cordialement, Bacterius !
3 mars 2011 à 10:11
Déjà merci d'avoir pris le temps de regarder ma source :)
Pour :
While 1
If Key.Length > LongeurClair Then
Exit While
Else
NewKey = NewKey + Key
LongeurClair = LongeurClair - Key.Length
End If
End While
NewKey = NewKey + Key.Substring(0, LongeurClair)
c'est juste que j'avais oublier de le remplacer, mais ne t inquiète pas, tu as déjà résolu ce problème (sur le forum l'autre jour) et je t'en remercie encore une fois.
Pour la fonction crypté, je les mis en commentaire, je me suis pas trop penchez sur la question de comment le simplifier.
Il n'y a pas d'autre moyen de le faire sans le select case ?
car à ma façons, on arrive à 4 000 lignes ...
Merci
2 mars 2011 à 19:24
Déjà parlons du code (je n'ai pas testé l'exécution) :
mais :
While 1
If Key.Length > LongeurClair Then
Exit While
Else
NewKey = NewKey + Key
LongeurClair = LongeurClair - Key.Length
End If
End While
NewKey = NewKey + Key.Substring(0, LongeurClair)
Sera avantageusement remplacé par :
While NewKey.Length< Clair.Length
NewKey = NewKey + Key
End While
NewKey = NewKey.Substring(0, Clair.Length)
Ensuite, j'ai été effrayé par la fonction Crypter de la classe ...
Pour récupérer le caractère à partir du code ASCII
Convert.ToChar(65)
Pour l'autre sens, je te laisse chercher.
Bonne soirée :)