GlanduSchmoldu
Messages postés199Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention27 octobre 2006
-
8 juin 2004 à 15:16
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 2006
-
17 juin 2004 à 15:12
Bonjour voilà je voudrais connaître le contenu binaire d'une variable (Integer, Double, String ...). Mais vraiment ce qui est enregistrer dans la mémoire, donc pas une fonction de calcul (du genre If Bit(i) = 1 then decimal = decimal + 2^i) ni de conversion ASCII.
GlanduSchmoldu
Messages postés199Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention27 octobre 20061 9 juin 2004 à 18:13
A oui c'est très bien ça je savais pas comment ça marchait, vachement bien, bravo. Mais du coup je me demande ce qui ya dans d'autres types de variables genre Long, Booleen (mias là ça doit pas etre bien compliqué), ou surtout String et Variant. Mais ça sort peut etre du sujet.
Sinon en fait mon problème c'est que je voulais faire du hashage MD5 et je vois mal comment stocker des bits, à part dans des chaines mais c'est lourd et lent.
Enfin quoiquilensoit bravo c'est chouette de montrer un peu le fonctionement interne de VB.
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 9 juin 2004 à 20:09
Salut, GlanduSchmoldu
Merci pour ton commentaire, si un jour g du temps, et si personne ne la déjà fait, je ferai un multi-convertisseur.
Pour les caractères, c facile, par ex un A à la valeur 65 en dec, 42 en Hex et 0100 0001 en binaire.
Le problème, c que ce que g fait c la représentation brute des variables float (double et single). En mémoire, faudrait que je m'y penche sérieusement, il y a des histoires d'octets forts et faibles, etc ..... et je ne sais pas comment c rangé tout ça.
Sinon, j'avais aussi mis un source ici qui permet de calculer un sceau sur un fichier. C une traduction d'un source C basé sur RIPEMD 160 (considéré comme une amélioration du MD5) :
http://www.vbfrance.com/code.aspx?ID=21566
GlanduSchmoldu
Messages postés199Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention27 octobre 20061 11 juin 2004 à 15:27
Alors je pige pas le coup de l'addition. Je veux dire on additionne 2 Long et puis ensiute on enleve des trucs jusqu'à ce que le résultat rentre dans un Long, d'accord, mais je comprend pas bien ce qu'on obtient à la fin. C'est pas vraiment l'addition puisqu'on a enlevé des trucs non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 11 juin 2004 à 16:33
<GlanduSchmoldu>
Je pense que tu veux parler du prog de calcul de sceau.
Le prob vient de la différence entre les types de données du C et de VB.
Ds le prog C d'origine, les variables sont en Unsigned Long (valeurs de 0 à 4 294 967 295) et en VB le Long est signé (de -2 147 483 648 à +2 147 483 647). donc, prob de dépassement de capacité. Je suis donc passé par des variables Double pour éviter les prob et seul le résultat final est reconverti en Long.
Je peux te garantir que le résultat est identique en VB qu'en C. G testé.
En dehors de ça, toutes les autres manip d'octets ou de bits sont une application de l'algorithme RIPEMD 160.
Je crois que g mis l'adresse où tu peux voir la doc.
GlanduSchmoldu
Messages postés199Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention27 octobre 20061 17 juin 2004 à 14:19
A oui je crois que je pige. Désolé pour le temps de réaction (le bac est l'oeuvre du Mal).
Détail amusant à propos de ta source : Timer.Interval a l'air de se comporter comme un Unsigned Integer. Existerait il des machin.truc en Unsigned Long ?