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:38:10
tout comme les exe, globalement non.
Mais c'est encore un sujet à dispute, va y avoir bagarre
Marsh Posté le 07-05-2004 à 19:42:31
JagStang a écrit : |
Pourquoi ? parceque certaines personnes prefèrent programmer en c et d'autre en vb ?
En tout cas je pence que tu as raison.
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 ?"
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...)
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.
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 ?
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é :
Code :
|
bonne chance !
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.
Marsh Posté le 08-05-2004 à 20:45:35
1° 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° 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 !
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.
Marsh Posté le 09-05-2004 à 16:17:12
prog1001 a écrit : |
difficile de faire plus simpliste comme technique en effet. Tu as réinventé le chiffre de césar quoi
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 :
|
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.
Marsh Posté le 09-05-2004 à 18:49:44
JagStang a écrit : key = 129 |
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.
aller, ne désespère pas !
Marsh Posté le 09-05-2004 à 18:52:06
pfff
tu me fais bien rire avec ta crypto à 2 balles
Citation : |
Marsh Posté le 09-05-2004 à 19:05:13
Ouai d'accord, c'était "presque" ça mais essaye ta clé pour ça :
Code :
|
le début est facil.
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 :
|
Ces caracs sont superieur a 017
Marsh Posté le 09-05-2004 à 20:21:19
JagStang a écrit : ouais, et ? |
J'étais pas loin
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
Marsh Posté le 09-05-2004 à 20:48:52
JagStang a écrit : |
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 :
|
Bien joué les gars !!
Marsh Posté le 09-05-2004 à 20:52:17
Code :
|
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.
Marsh Posté le 09-05-2004 à 21:02:11
JagStang a écrit :
|
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.
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
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 ?
Marsh Posté le 09-05-2004 à 21:10:49
prog1001 a écrit : C'est quoi RC4 rt TEA ? |
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.
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" ?
Marsh Posté le 09-05-2004 à 21:23:38
prog1001 a écrit : http://www.elfqrin.com/codecracker.html il est bon ce site ! |
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)
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