CRYPTAGE D'UNE CHAÎNE DE CARACTÈRE AVEC LA GRILLE DE VIGÉNÈRE
deedstacktyk
Messages postés28Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention15 avril 2003
-
10 mai 2002 à 10:06
foliv57
Messages postés420Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention15 juillet 2014
-
10 oct. 2007 à 10:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
foliv57
Messages postés420Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention15 juillet 20149 10 oct. 2007 à 10:52
Remplace :
If n > 255 Then n = n - 255
If n < 0 Then n = 255 + n
par :
If n > 255 Then n = n - 256
If n < 0 Then n = 256 + n
J'explique :
si le caractère a codé est "ÿ" (Asc(ÿ)=255) (et oui le pire je sais =)
et que le caractère de la clef est "ÿ"
le code sera égale à 255 + 255 + 1 = 511
donc n > 255 et si tu fais -255 => 511 - 255 = 256
et la, boulette, Chr(256) je vous laisse imaginer l'insulte de notre bon vieux debogeur.
=)
Pour le reste c'est nikel. Bonne source
Il y a possibilité aussi de le rendre plus performant en supprimant la concaténation, car il semblerait que l'instruction s_codé = s_codé + Chr(n) utilise beaucoup de ressource.
pour se faire tu crées une chaine de la taille de la chaine a crypter :
s_Longueur = Len(S)
s_codé = String(s_Longueur, Chr(0))
et à la place de s_codé = s_codé + Chr(n) tu mets :
Mid(s_codé, i, 1) = Chr(n)
Mais bon c'est pas vitale, c'est pour info
cs_niluje
Messages postés90Date d'inscriptionmardi 2 avril 2002StatutMembreDernière intervention 2 décembre 2004 13 juil. 2004 à 11:07
ou peut-on trouver la fonction pour décrypter les informations ?
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 8 juil. 2003 à 11:23
Tu peux mettre ta source en .Net egalement si tu veux ..
A+
Bon boulot
cs_diablotin
Messages postés84Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention19 janvier 2004 1 mars 2003 à 13:14
Question comment on utulise ta source pour codé et décoder car j'aimerais bc le savoir c'est comme tre utulile pour une source ici
si je te dirais 4 sans te dire 2+2 tu comprenderais pas pourquoi j'aurais dit 4,.......
cs_aKheNathOn
Messages postés575Date d'inscriptiondimanche 23 décembre 2001StatutMembreDernière intervention23 octobre 2012 24 mai 2002 à 23:53
Oki je vois le style d'algo ... neojoce , lis un peu le code avant de parler ... xor c'est loin d'être ça ...
Bréf la le texte crypté est : 0111110 = 62 --> '>'
Bréf voilà l'algorithme XOR .
Pour l'algorithme utilisé ici , on passe plus par le binaire mais :
ASC(A) = 65
ASC(C) = 67
Resultat 65-67 -2
Avec les conditions If , si le résultat est négatif alors : Résultat = 255+Résultat négatif
Si le résultat est supérieur à 255 , alors le résultat est : Résultat-255
Bréf c'est un algorithme non bijectif , le seul point faible c'est qu'il ne crypte pas vraiment avec efficacitée si les valeurs sont faibles , et les résultats sont linéaires si me mdp est trop petit par rapport à la longeur du texte crypté ... en quelques mots il est bien pour des donées du style fichiers exe , bin , doc mais pas pour les fichiers contenant du simple texte ...
fkiller001
Messages postés25Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention13 juin 2003 11 mai 2002 à 13:55
moi, j'en ai rien a faire que tu soit une espece de llamer a la con ou un genis, j'aimerai bien que qq m'explique comme sa marche ou que l'on me dise ou je peut trouver sa, merci.
Fki.
@+
neojoce
Messages postés134Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention16 juin 2002 10 mai 2002 à 20:53
C la methode XOR
deedstacktyk
Messages postés28Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention15 avril 2003 10 mai 2002 à 10:07
Tiens, c'est bizarre mais je crois que j'ai déjà vu ce code dans un magazine, mais pour ce qui est de le casser, en brute force c'est surement possible de tester toutes les clefs(rappel, clef de 1 caractere de long = 224 possibilités,etc)
deedstacktyk
Messages postés28Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention15 avril 2003 10 mai 2002 à 10:07
Tiens, c'est bizarre mais je crois que j'ai déjà vu ce code dans un magazine, mais pour ce qui est de le casser, en brute force c'est surement possible de tester toutes les clefs(rappel, clef de 1 caractere de long = 224 possibilités,etc)
deedstacktyk
Messages postés28Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention15 avril 2003 10 mai 2002 à 10:06
Tiens, c'est bizarre mais je crois que j'ai déjà vu ce code dans un magazine, mais pour ce qui est de le casser, en brute force c'est surement possible de tester toutes les clefs(rappel, clef de 1 caractere de long = 224 possibilités,etc)
deedstacktyk
Messages postés28Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention15 avril 2003 10 mai 2002 à 10:06
Tiens, c'est bizarre mais je crois que j'ai déjà vu ce code dans un magazine, mais pour ce qui est de le casser, en brute force c'est surement possible de tester toutes les clefs(rappel, clef de 1 caractere de long = 224 possibilités,etc)
10 oct. 2007 à 10:52
If n > 255 Then n = n - 255
If n < 0 Then n = 255 + n
par :
If n > 255 Then n = n - 256
If n < 0 Then n = 256 + n
J'explique :
si le caractère a codé est "ÿ" (Asc(ÿ)=255) (et oui le pire je sais =)
et que le caractère de la clef est "ÿ"
le code sera égale à 255 + 255 + 1 = 511
donc n > 255 et si tu fais -255 => 511 - 255 = 256
et la, boulette, Chr(256) je vous laisse imaginer l'insulte de notre bon vieux debogeur.
=)
Pour le reste c'est nikel. Bonne source
Il y a possibilité aussi de le rendre plus performant en supprimant la concaténation, car il semblerait que l'instruction s_codé = s_codé + Chr(n) utilise beaucoup de ressource.
pour se faire tu crées une chaine de la taille de la chaine a crypter :
s_Longueur = Len(S)
s_codé = String(s_Longueur, Chr(0))
et à la place de s_codé = s_codé + Chr(n) tu mets :
Mid(s_codé, i, 1) = Chr(n)
Mais bon c'est pas vitale, c'est pour info
13 juil. 2004 à 11:07
8 juil. 2003 à 11:23
A+
Bon boulot
1 mars 2003 à 13:14
si je te dirais 4 sans te dire 2+2 tu comprenderais pas pourquoi j'aurais dit 4,.......
24 mai 2002 à 23:53
Methode XOR :
ASC(A) = 65 -> 1000001 <---- Lettre à coder
ASC(C) = 67 -> 1000011 <---- Clef permettant le codage
Reésultat :
1 / 1 = 0
0 / 0 = 1
1 / 0 = 1
Bréf la le texte crypté est : 0111110 = 62 --> '>'
Bréf voilà l'algorithme XOR .
Pour l'algorithme utilisé ici , on passe plus par le binaire mais :
ASC(A) = 65
ASC(C) = 67
Resultat 65-67 -2
Avec les conditions If , si le résultat est négatif alors : Résultat = 255+Résultat négatif
Si le résultat est supérieur à 255 , alors le résultat est : Résultat-255
Bréf c'est un algorithme non bijectif , le seul point faible c'est qu'il ne crypte pas vraiment avec efficacitée si les valeurs sont faibles , et les résultats sont linéaires si me mdp est trop petit par rapport à la longeur du texte crypté ... en quelques mots il est bien pour des donées du style fichiers exe , bin , doc mais pas pour les fichiers contenant du simple texte ...
11 mai 2002 à 13:55
Fki.
@+
10 mai 2002 à 20:53
10 mai 2002 à 10:07
10 mai 2002 à 10:07
10 mai 2002 à 10:06
10 mai 2002 à 10:06