CRYPTAGE PAR LA MÉTHODE DE VIGENERE

SimonKari Messages postés 80 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 1 octobre 2004 - 10 août 2004 à 10:07
pwalinett Messages postés 22 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 28 août 2008 - 3 oct. 2007 à 11:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25294-cryptage-par-la-methode-de-vigenere

pwalinett Messages postés 22 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 28 août 2008
3 oct. 2007 à 11:04
bonjour, je voulais juste dire, moi je suis débutante en c# et on a des fois besoin de ce genre de code qui est efficace et pascompliqué. il m'a été bien utile alors merci beaucoup. tout n'a pas toujours besoin d'être compliqué! :)
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
29 nov. 2006 à 17:56
merci pour la formule, SimonKari !
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
18 janv. 2006 à 19:44
Merci pour l'adresse de l'algo :) Moi je m'en vai le faire en C :p .
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 août 2004 à 13:55
Je viens de comparer le code IL donc avec la version abregé le code de Decrypt faisait 83bytes contre 95bytes, et la grande difference c'est que dans le code allegé

au lieu de cette ligne (code IL) :
call int16 [mscorlib]System.Convert::ToInt16(char)

la version abregé a seulement
conv.i2

Je sais pas si il y a une grande difference entre les deux,en tout cas niveau temps d'execution c'est sensiblement pareil, il faudrais faire des tests a grande echelle pour se rendre compte.

il y aurait il qqn qui connaitrait un peu le code IL ?

merci
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 août 2004 à 13:43
Merci SimonKari

J'ai trouvé une autre methode :

encrypt += (char)(((short)key[i % key.Length] + (short)ChaineaEncoder[i])%65536);
qui est equivalent à :
encrypt += Convert.ToString(Convert.ToChar((Convert.ToInt16(key[i % key.Length]) + Convert.ToInt16(ChaineaEncoder[i])) % 65536));

la premiere est plus compact, mais je sais pas si elles sont equivalentes.

Je vais regarder avec ILDASM
SimonKari Messages postés 80 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 1 octobre 2004
10 août 2004 à 12:17
System.Convert.ToInt32(Char)
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 août 2004 à 11:12
Je ne connais pas l'encryptage sha1, je sais qu'il existe dans le framework des classes de cryptage.
Mais mon but, n'est pas de concurrencer les grands algo de cryptage, mais je considére ca plus comme un exercice, j'ai trouvé un algo de cryptage sur internet et je m'entraine à le traduire en C#

Mais je suis d'accord que d'autres algo sont surement plus performant


SimonKari, je vais reflechir à ta méthode, mais j'ai un problème je ne trouve pas la fonction Asc, je sais qu'elle existe en VB mais je ne sais encore pas comment faire pour qu'elle soit presente en C#

j'ai essayé using Microsoft.VisualBasic; mais ca ne marche pas :(

mais je reflechis à ta solution :)
cs_ousta Messages postés 95 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 2 juin 2007
10 août 2004 à 10:42
et lencryptage sha1 il ne vous convient pas?
SimonKari Messages postés 80 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 1 octobre 2004
10 août 2004 à 10:07
C'est un code assez concis que tu as là ! Mais en y réflechissant 2 minutes, j'ai pondu ceci :

Asc(Lettre à crypter) + Asc(Lettre clé) = Asc(Lettre codée)

Avec cette formule, il n'y a aucune limitation. Il faut simplement connaitre la page de code désirée. Et avoir 2 tableau qui contiennent le texte à crypter et le texte dupliqué de la clé.

Qu'en penses-tu ?
Rejoignez-nous