Les dll créé avec vb sont-il aussi performant que ceux créé en c ?

Les dll créé avec vb sont-il aussi performant que ceux créé en c ? - VB/VBA/VBS - Programmation

Marsh Posté le 07-05-2004 à 19:37:00    

Salut les programmeurs!
 
Je me posais une petite question de performance...
Les dll créé avec vb sont-il aussi bien (performant, rapide) que ceux créé en c.  :??:


Message édité par prog1001 le 07-05-2004 à 19:39:55
Reply

Marsh Posté le 07-05-2004 à 19:37:00   

Reply

Marsh Posté le 07-05-2004 à 19:38:10    

tout comme les exe, globalement non.  
 
Mais c'est encore un sujet à dispute, va y avoir bagarre

Reply

Marsh Posté le 07-05-2004 à 19:42:31    

JagStang a écrit :


Mais c'est encore un sujet à dispute, va y avoir bagarre


 
Pourquoi ? parceque certaines personnes prefèrent programmer en c et d'autre en vb ? :bounce:
En tout cas je pence que tu as raison.


Message édité par prog1001 le 07-05-2004 à 19:43:12
Reply

Marsh Posté le 07-05-2004 à 19:45:18    

parce que les débats sur les langages sont stérils, chacun campe sur ses positions.
 
C'est comme si tu fait un topic "quelle est votre marque de voiture préférée ?"
 

Reply

Marsh Posté le 07-05-2004 à 19:58:57    

les dll en c/c++ sont plus rapides c'est une évidence.
 
maintenant de nombreux cas ne nécessitent pas bcp de rapidité, et dans de nombreux autres cas, la différences sera impalpable. Dans ces moments, autant pas se faire chier et utiliser le langage ds lequel on est le + à l'aise (VB pour toi, C++ pour d'autres...)

Reply

Marsh Posté le 07-05-2004 à 20:32:30    

C'est que je fait une application qui aura a traiter UN fichier qui pourra aller de 1ko a infini (selon l'utilisateur) donc plus la fonction sera rapide mieux ce sera.
 
Je remerci vonm qui ma donné la solution pour utiliser les dll activX de vb.

Reply

Marsh Posté le 08-05-2004 à 17:00:10    

bah c'est koi ton traitement ?
tri ? calcul ? plein d'allocation mémoire ?
ou rien de tout ça ?

Reply

Marsh Posté le 08-05-2004 à 17:52:58    

C'est 4 fonctions, dans 2 dll differents :
   - Un dll pour crypter/décrypter : tu lui evois une chaine de caractères qu'il crypte (en traitant chacun des caractères).
   - Un dll pour compresser/decompresser : meme système que precedement
 
C'est pas le fichier qui est traité directement, les chaines sont stocké dans des tableaux dinamiques puis au moment de la sauvegarde pas l'utilisateur ça les écris dans le fichier.
 
En fait mon programme sert a stocker toutes sorte d'information dans un fichier. chaques utilisateurs peut créer un compte ou participer à un compte commun. l'acces au compte est protégé par un mot de passe donc complétement sécurisé (en plus, meme si le gars retrouve le fichier "caché" qui est planqué dans un endroit bien précis et qu'il l'ouvre avec bloc-note, il ne pourra rien comprendre puisque les données seront cryptés).
 
d'ailleur voilà une petite chaine crypté, la clé de cryptage est très simple, essayez de la décrypté :  :ouch:  
 

Code :
  1. ÁèäíŸéîôi«ŸõîôòŸàõäùŸóñîôõiŸëàŸâëiŸãäŸâñøïóàæä


 
bonne chance ! :D


Message édité par prog1001 le 08-05-2004 à 18:02:17
Reply

Marsh Posté le 08-05-2004 à 19:03:04    

Bon alors déjà si tu utilises des algo mathématiques, tu as tout intérêt à utiliser le C/C++.
 
pour la crypto, sache qu'il n'est pas viable de baser la sécurité d'un schéma sur le fait qu'on le cache.
 
en plsu tu traites chacun des caractères, donc ça sent très fort l'algo classique "remanié" (genre un vigenere à ta sauce). Sincèrement, j'ai fait un DEA de crypto (de l'université de Limoges) et crois moi , des schémas "incassables" d'après leurs auteurs, j'en ai vu des milliers. Je répète : le seul moyen de savoir si un schéma est sûr, c'est de le rebdre publique, et que la communauté scientifique tente de le casser, là tu sauras. Mais bien sûr, pour faire ça faut que la sécurité du système soit pas basé sur le schéma lui même, mais sur un paramètre vite remplaçable en cas de perte (comme une clé).  
 
 
enfin bref, y a des sites qui parlenr de ça mieux que moi.
 
Bon courage qd même.


Message édité par daneel17fr le 08-05-2004 à 19:03:27
Reply

Marsh Posté le 08-05-2004 à 20:45:35    

1°  :wahoo: je me fiche que mon fichier puisse etre trouvé, la plupart des eventuels utilisateurs de mon programme n'y comprendront rien, ils n'essayront meme pas d'ouvrir le fichier *.ced (savent pas ce que c'est) et meme s'ils le faisaient, il faudrais qu'il sache programmer ou tout du moins connaitre le Jeu de caractères (0 à 255) pour pouvoir décoder le fichier et comme j'utilise un RichTextBox et sa methode savefile/loadfile (c'est donc déja ecrit bizzarement quand c'est pas crypté parcequ'il enregistre le format, la couleur etc...)
 
2°  :non: j'ai jamais prétendu que mon crypteur etait invulnérable, justement j'ai dit qu'il etait très simple il ne fait que remplacer le caractère par Chr(Asc(Carac + ?))(je te donne pas le ?, cherche d'apres l'exemple si ça t'interresse)
je pence évoluer ma fonction pour qu'elle devienne personalisable
genre :
       Avant : Public Function CRYPTE(Chaine As String) As String
 
       Futur : Public Function CRYPTE(Chaine As String, Key As Byte) As String
    key nombre entre 0 et 255, se rajoutera dans le calcul et si ça suffit pas, je changerai le calcul pour compliquer les choses, j'ai plein d'idées.
 
c'est quoi un "Shemas" dans je jargon de la programmation
            je connais pas très bien les termes, je n'ai pas suivi d'etude de prog.
 
Aller salut !

Reply

Marsh Posté le 08-05-2004 à 20:45:35   

Reply

Marsh Posté le 08-05-2004 à 21:27:37    

fais ta DLL en C. Niveau traitement, à part l'assembleur, tu n'auras pas plus rapide.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 09-05-2004 à 16:17:12    

prog1001 a écrit :


2°  :non: j'ai jamais prétendu que mon crypteur etait invulnérable,  


 
difficile de faire plus simpliste comme technique en effet. Tu as réinventé le chiffre de césar quoi

Reply

Marsh Posté le 09-05-2004 à 18:07:51    

JagStang a écrit :

difficile de faire plus simpliste comme technique en effet. Tu as réinventé le chiffre de césar quoi


 
Peut-être, mais attendant personne n'a décodé le :

Code :
  1. ÁèäíŸéîôi«ŸõîôòŸàõäùŸóñîôõiŸëàŸâëiŸãäŸâñøïóàæä


c'est pourtant pas dur !
 
je pourais en faire un compliqué, mais le critère principal est que chaque caractères ne doit etre remplacé que par un seul.


Message édité par prog1001 le 09-05-2004 à 18:08:41
Reply

Marsh Posté le 09-05-2004 à 18:34:58    

key = 129

Reply

Marsh Posté le 09-05-2004 à 18:49:44    


Faux, déjà la variable key n'avait pas encore été défini pour cette chaine donc aucune valeur n'est transmit au crypteur (mise a part la chaine a crypté bien sure). si tu as trouvé, écrit la forme décrypté de la chaine, et là on pourra dire que tu as trouvés.
 
je te donne un indice :
on peut dire que le crypteur inverse, en quelque sorte, la chaine entré.
 
Tu peux essayé d'ajouté n'importe quel nombre au : Asc(Caractère) c'est pas comme ça que tu trouveras. :heink:  
 
aller, ne désespère pas ! :lol:


Message édité par prog1001 le 09-05-2004 à 18:51:12
Reply

Marsh Posté le 09-05-2004 à 18:52:06    

pfff
tu me fais bien rire avec ta crypto à 2 balles
 
:o
 

Citation :


 Bien jouê, vous avez trouvê la clê de cryptage KEY = 129  

Reply

Marsh Posté le 09-05-2004 à 19:05:13    

Ouai d'accord, c'était "presque" ça mais essaye ta clé pour ça :
 

Code :
  1. ÂäòŸâàñàâòŸòîíóŸòôïäñèäôñŸàŸ°±·Ÿ¹Ÿq*¥%"_R


 
le début est facil.


Message édité par prog1001 le 09-05-2004 à 19:05:58
Reply

Marsh Posté le 09-05-2004 à 20:15:31    

prog1001 a écrit :

Ouai d'accord, c'était "presque" ça mais essaye ta clé pour ça :
 

Code :
  1. ÂäòŸâàñàâòŸòîíóŸòôïäñèäôñŸàŸ°±·Ÿ¹Ÿq*¥%"_R


 
le début est facil.


 
Ces caracs sont superieur a 017 :whistle:


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 09-05-2004 à 20:16:24    

ouais, et ?
 
"Ces caracs sont superieur a 128 : ò«&¦£àÓ"

Reply

Marsh Posté le 09-05-2004 à 20:21:19    

JagStang a écrit :

ouais, et ?
 
"Ces caracs sont superieur a 128 : ò«&¦£àÓ"


 
J'étais pas loin [:ddr555]  
 
EDIT :
Je suppose que c'est une histoire de charset.
En tous cas, je ne me suis pas emmerdé : http://www.elfqrin.com/codecracker.html :D


Message édité par printf le 09-05-2004 à 20:22:33

---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 09-05-2004 à 20:48:52    

JagStang a écrit :


"Ces caracs sont superieur a 128 : ò«&¦£àÓ"


 
C'est presque ça, donc tu as trouvé pour les caractère <= à 128
la réponce etait "Ces caracs sont superieur a 128 : ñª&¥¢ßÒ"
pour le reste c'est pas dur non plus.
 
comme vous avez presque trouvé, voila le code pour Crypter/décrypté
 

Code :
  1. Option Explicit
  2. Public Function CRYPTE(Chaine As String) As String
  3. Dim CaracCrypte$
  4. Dim LenChaine&
  5. Dim AscCarac As Byte
  6. Dim i&
  7. i = 1
  8. LenChaine = Len(Chaine)
  9.     Do While Not i - 1 = LenChaine
  10.     AscCarac = Asc(Mid(Chaine, i, 1))
  11.     If AscCarac <= 128 Then
  12.     CaracCrypte = Chr(AscCarac + 127)
  13.     Else
  14.     CaracCrypte = Chr(AscCarac - 128)
  15.     End If
  16.     i = i + 1
  17.     CRYPTE = CRYPTE & CaracCrypte
  18.     Loop
  19. End Function
  20. Public Function DECRYPTE(Chaine As String) As String
  21. Dim CaracCrypte$
  22. Dim LenChaine&
  23. Dim AscCarac As Byte
  24. Dim i&
  25. i = 1
  26. LenChaine = Len(Chaine)
  27.     Do While Not i - 1 = LenChaine
  28.     AscCarac = Asc(Mid(Chaine, i, 1))
  29.     If AscCarac >= 128 Then
  30.     CaracCrypte = Chr(AscCarac - 127)
  31.     Else
  32.     CaracCrypte = Chr(AscCarac + 128)
  33.     End If
  34.     i = i + 1
  35.     DECRYPTE = DECRYPTE & CaracCrypte
  36.     Loop
  37. End Function


 
Bien joué les gars !! :sol:

Reply

Marsh Posté le 09-05-2004 à 20:52:17    

Code :
  1. $c = "ÂäòŸâàñàâòŸòîíóŸòôïäñèäôñŸàŸ°±·Ÿ¹Ÿq*¥%\"_R" ;
  2. for ($i=0 ; $i<255 ; $i++)
  3. {
  4. for ($j=0 ; $j<strlen($c) ; $j++)
  5.  echo htmlentities(chr(ord($c[$j])+$i)) ;
  6. echo " KEY = $i <br/> " ;
  7. }

Reply

Marsh Posté le 09-05-2004 à 20:58:26    

La leçon a retenir est la suivante : on ne doit pas faire confiance à la sécurité par l'obscurité.
 
Ton programme ne devrait pas avoir à cacher le fichier, ni à l'obscurcir. Au contraire, la sécurité ne doit reposer que dans une seule chose : la clé.
 
Tu peux essayer d'implémenter de véritables algorithmes réputés sûrs si le coeur t'en dit. Bien qu'ils ne soient pas les plus sécurisés, tu peux essayer RC4 et TEA qui sont simples à mettre en oeuvre.


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 09-05-2004 à 21:02:11    

JagStang a écrit :

Code :
  1. $c = "ÂäòŸâàñàâòŸòîíóŸòôïäñèäôñŸàŸ°±·Ÿ¹Ÿq*¥%\"_R" ;
  2. for ($i=0 ; $i<255 ; $i++)
  3. {
  4. for ($j=0 ; $j<strlen($c) ; $j++)
  5.  echo htmlentities(chr(ord($c[$j])+$i)) ;
  6. echo " KEY = $i <br/> " ;
  7. }




 
Euh... C'est gentil mais j'ai pas encore appris le c, je vien juste de télécharger un logiciel (Borland C++), faut que m'y mette.


Message édité par prog1001 le 09-05-2004 à 21:02:49
Reply

Marsh Posté le 09-05-2004 à 21:03:23    

c'est pas du C, mais du PHP. en C ça serait encore plus simple à écrire

Reply

Marsh Posté le 09-05-2004 à 21:06:49    

printf a écrit :

tu peux essayer RC4 et TEA qui sont simples à mettre en oeuvre.


 
C'est quoi RC4 et TEA ?
 
et comment décrypte avec ce site : http://www.elfqrin.com/codecracker.html j'y est inséré la chaine de toute à l'heure et il la décrypte pas, comment t'a fait ?


Message édité par prog1001 le 09-05-2004 à 21:08:16
Reply

Marsh Posté le 09-05-2004 à 21:10:49    

prog1001 a écrit :

C'est quoi RC4 rt TEA ?
 
et comment décrypte avec ce site : http://www.elfqrin.com/codecracker.html j'y est inséré la chaine de toute à l'heure et il la décrypte pas, comment t'a fait ?


 
RC4 = Rivest Code 4 (RC4 est une marque déposée, donc on utilise généralement le terme "Arcfour" pour désigner l'algorithme)
TEA = Tiny Encryption Algorithm
 
Ce sont deux algorithmes de chiffrement très simples à mettre en oeuvre. TEA n'est pas très utilisé (il me semble), contrairement à RC4. Le niveau de sécurité de RC4 ne permet pas son utilisation dans les systèmes très sensibles, par contre il est utilisé dans beaucoup d'applications commerciales (et non des moindres).
 
Pour le site, il te suffit de rentrer la chaîne dans la case "Message", de choisir l'ASCII comme alphabet, de choisir le code de César (tout en bas) et de cliquer sur "Process". Le programme va générer les 255 sorties possibles.


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 09-05-2004 à 21:17:56    

http://www.elfqrin.com/codecracker.html il est bon ce site !
 
le RC4 ça m'interresse, comment me procurer l'algorithme "Arcfour" ?


Message édité par prog1001 le 09-05-2004 à 21:19:19
Reply

Marsh Posté le 09-05-2004 à 21:23:38    

prog1001 a écrit :

http://www.elfqrin.com/codecracker.html il est bon ce site !
 
le RC4 ça m'interresse, comment me procurer l'algorithme "Arcfour" ?


 
RC4 == Arcfour (c'est juste le nom qui change, pour des raisons juridiques).
EDIT : en fait, l'algo change aussi (puisqu'on ne connait pas le vrai RC4, qui est propriétaire), mais il produit les mêmes résultats.
 
J'ai trouvé une fonction RC4 en VB : http://www.freevbcode.com/ShowCode.asp?ID=4398
 
Mais si tu veux une description de l'algorithme, voir ici par exemple : http://www.uqtr.ca/~delisle/Crypto/prives/flux_rc4.php (mais en cherchant un peu on trouve certainement plus complet)


Message édité par printf le 09-05-2004 à 21:24:21

---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 09-05-2004 à 21:32:42    

j'ai testé la fonction RC4, elle est très bien.
Merci ! :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed