Determine le CHECKSUM d'un fichier [Résolu]

cs_SEB73460 259 Messages postés vendredi 15 avril 2005Date d'inscription 5 février 2015 Dernière intervention - 2 déc. 2007 à 10:23 - Dernière réponse : cs_SEB73460 259 Messages postés vendredi 15 avril 2005Date d'inscription 5 février 2015 Dernière intervention
- 2 déc. 2007 à 15:33
Bonjour,

En vb.net

J'ouvre un fichier dans un label qui comporte plusieurs octets
j'aimerai determiner le cheksum-32

A savoir : AABBCC = 231hex

Comment faire cela avec du code ?

Merci pour votre aide
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 2 déc. 2007 à 11:51
3
Merci
Si tes valeurs hexa dans ta chaîne n'ont pas toujours la même longueur ou que, ayant des longueur différentes, ces valeurs ne sont pas séparées l'une de l'autre par un séparateur, il te sera toujours impossible de savoir où commence et où se termine une valeur hexa dans ta chaîne...

Si maintenant tu veux éclater ta chaine en, valeur ascii de chacun des caractères qu'elle contient (tu en feras ensuite ce que tu voudras, ma foi), voilà une méthode rapide (éclatement en array de bytes) :

Private Sub Command1_Click()
    toto = "AABBCC"
    Dim titi() As Byte
    titi() = StrConv(toto, vbFromUnicode)
    For i = 0 To UBound(titi)
        MsgBox titi(i)
    Next
End Sub

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 2 déc. 2007 à 11:02
0
Merci
Bonjour,

2 questions :

1) quel est ton mécanuisme de CheckSum (on dirait qu'il ne correspond pas au mien) pour arriver à 231hex à partir de AABBCC

2) quel est l'origine de ton fichier (écrit ou non en Unicode ?)
Commenter la réponse de jmfmarques
cs_SEB73460 259 Messages postés vendredi 15 avril 2005Date d'inscription 5 février 2015 Dernière intervention - 2 déc. 2007 à 11:05
0
Merci
Salut,

le mecanisme de mon Checksum est l'addition des octets de mon fichier
et l'origine c'est un fichier Hexadecimal que j'ouvre dans un label
Merci pour ton aide
A+
Commenter la réponse de cs_SEB73460
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 2 déc. 2007 à 11:16
0
Merci
Je ne comprends toujours pas !

Qu'entends-tu par "addition des octets" :
- leur nombre ?
- le total de leurs valeurs Ascii ?
- le total de leurs valeurs Hexas ?

Considères-tu enfin le contenu de ton fichier comme chaîne de caractère ?

tout celà reste encore flou !
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 2 déc. 2007 à 11:18
0
Merci
Exemple :


 


Chaine de caractères "AB"


 


décompose ici et en langage naturel (français) ce que tu calcules


A ==>>> ?


B ===>> ?


et que fais-tu de ces 2 résultats ?
Commenter la réponse de jmfmarques
cs_SEB73460 259 Messages postés vendredi 15 avril 2005Date d'inscription 5 février 2015 Dernière intervention - 2 déc. 2007 à 11:29
0
Merci
Je ne souhaite pas obtenir une chaine de caracteres
mais le total de leurs valeurs en Hexadecimal
que j'affiche dans un label
Donc la somme des octets de mon fichier "AA+BB+CC = 231 (En hexa)"

Merci et a +
Commenter la réponse de cs_SEB73460
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 2 déc. 2007 à 11:36
0
Merci
MsgBox Hex(Val("&HAA") + Val("&HBB") + Val("&HCC"))

Mais tu ne pourras utiliser celà que si tes valeurs hexas (dans ta chaîne) ont toujours la même longueur !
Commenter la réponse de jmfmarques
cs_SEB73460 259 Messages postés vendredi 15 avril 2005Date d'inscription 5 février 2015 Dernière intervention - 2 déc. 2007 à 11:43
0
Merci
Merci pour ta reponse mais les octets de mes fichiers ne sont jamais identiquent
et ils n'ont jamais la meme longeur

Moi de mon niveau de debutan, je pensais faire :

lire le premier octet et le stocker dans une variable
ensuite lire le deuxieme octet et l'additionner dans la variable
lire le troisieme octet et etc.........
jusqu'a la fin de mon fichier
et ensuite lire ma variable en Hexa et l'afficher dans mon label

Mais je debute et je vois peu etre cela trop simplement

A+
Commenter la réponse de cs_SEB73460
cs_SEB73460 259 Messages postés vendredi 15 avril 2005Date d'inscription 5 février 2015 Dernière intervention - 2 déc. 2007 à 15:33
0
Merci
J'ai recuperer un bout de code sur le forum
je pense qu'il repond à mon attente (A voir)

decod = HexCrypt(octetligne) 'on le convertit en hexa
cheksum = cheksum + Val("&H" & decod)

Merci à tous pour vos reponses
Commenter la réponse de cs_SEB73460

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.