SimonKari
Messages postés80Date d'inscriptiondimanche 29 décembre 2002StatutMembreDernière intervention 1 octobre 2004
-
10 août 2004 à 10:07
pwalinett
Messages postés22Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention28 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.
pwalinett
Messages postés22Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention28 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és2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 29 nov. 2006 à 17:56
merci pour la formule, SimonKari !
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 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és6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 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és6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 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és80Date d'inscriptiondimanche 29 décembre 2002StatutMembreDernière intervention 1 octobre 2004 10 août 2004 à 12:17
System.Convert.ToInt32(Char)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 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és95Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention 2 juin 2007 10 août 2004 à 10:42
et lencryptage sha1 il ne vous convient pas?
SimonKari
Messages postés80Date d'inscriptiondimanche 29 décembre 2002StatutMembreDerniè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é.
3 oct. 2007 à 11:04
29 nov. 2006 à 17:56
18 janv. 2006 à 19:44
10 août 2004 à 13:55
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
10 août 2004 à 13:43
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
10 août 2004 à 12:17
10 août 2004 à 11:12
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 :)
10 août 2004 à 10:42
10 août 2004 à 10:07
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 ?