Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1509 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Suivante
Auteur Sujet :

Checksum (trouve pas)

n°2017992
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 19-08-2010 à 17:05:04  profilanswer
 

Reprise du message précédent :

gilou a écrit :

Ben il t'a juste donné d'autres fonctions de calcul de CRC, puisque des CRC, il y en a pas qu'un seul type. Parce que si celle employée dans ton cas est pas la CRC-16 (la plus courante), ben ce que tu veux faire collera pas.
Au vu de la tronche des fichiers, c'est probablement la zone entre les deux ;RxChars->... qui est celle sur laquelle porte le calcul du crc.
A+,


La simple somme 16 bits colle trop bien pour que ça soit un type de checksum différent. On est pas toujours a l'abri d'une erreur, mais ca m'étonnerait pas mal.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
mood
Publicité
Posté le 19-08-2010 à 17:05:04  profilanswer
 

n°2018002
gilou
Modérateur
Modzilla
Posté le 19-08-2010 à 17:41:15  profilanswer
 

Perso, j'ai fait un petit test:
j'ajoute tous les chars (leur valeur ascii) modulo 2^16 entre les deux lignes débutant par un ;RxChars
ca me donne la valeur de la 2e ligne débutant par ;RxChars + 250 dans les deux cas.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018028
jimmy71
Posté le 19-08-2010 à 19:44:22  profilanswer
 

d'accord, mais je suis un peu perdu, que dois-je donc faire?

n°2018045
gilou
Modérateur
Modzilla
Posté le 19-08-2010 à 20:30:28  profilanswer
 

Que dois tu faire pour faire quoi?
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018047
jimmy71
Posté le 19-08-2010 à 20:36:00  profilanswer
 

bah pour trouver le checksum!

n°2018048
jimmy71
Posté le 19-08-2010 à 20:39:54  profilanswer
 

donc, si j'ai compris, les avis sont partagé entre le crc16, et un autre type de checksum, mais du coup, quel est le bon?  
 
A+

n°2018070
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 00:17:54  profilanswer
 

Euh, ce que tu veux faire, c'est fabriquer des fichier nouveaux qui marchent avec ton appli, non?
Ben tu en fabrique un, et tu testes avec toutes les formules de checksum qui collaient aussi pour les deux fichier test. Quand ton appli ne rejettera pas le fichier pour un pb de checksum, c'est que la formule de checksum employée sera la bonne, non?
A+,


Message édité par gilou le 20-08-2010 à 00:18:34

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018085
jimmy71
Posté le 20-08-2010 à 09:37:31  profilanswer
 

oui dans la logiqur, c'est ça, mais quand je modifiais un fichier existant, je fesais juste de prendre le checksum que donnait le logiciel, et je soustrayais 390 (je ne sais pas pourquoi), la le nombre de ligne à changer, ce qui à changer le nombre statique(je pense) car en soustrayant 390,le checksum n'était pas bon
 
A+

n°2018140
h3bus
Troll Inside
Posté le 20-08-2010 à 14:41:04  profilanswer
 

Ben gilou te disais que ça avait l'air de marcher en faisant une somme modulo 2^16. Fait ça plutôt au lieu d'utiliser la bidouille du logiciel (CRC16) moins un nombre qui sort d'un chapeau...


---------------
sheep++
n°2018157
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 15:58:26  profilanswer
 

Ce qu'il y a surtout, c'est qu'en prenant le checksum de la zone décrite du fichier, et non celui de tout le fichier, il n'y a pas de blème en écrivant le checksum, sinon on a un cycle pourri:
nouveau nombre de checksum écrit dans le fichier => checksum du fichier change => checksum du fichier recalculé => nouveau nombre de checksum écrit dans le fichier => ...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le 20-08-2010 à 15:58:26  profilanswer
 

n°2018177
Elmoricq
Modérateur
Posté le 20-08-2010 à 18:29:09  profilanswer
 

D'où ma toute première réponse à ce sujet. [:dawa]

n°2018181
jimmy71
Posté le 20-08-2010 à 18:44:07  profilanswer
 

oui, m'enfin, comment je peux faire evoluer la sistuation? la somme modulo2^16 fonctionne? si oui, comment je dois l'utiliser?
 
a+

n°2018185
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 19:20:32  profilanswer
 

Mais c'est a toi de le tester, ça, si pour une annonce modifiée, la formule de la somme modulo 16 sur la zone indiquée plus (ou moins, je sais plus) 250 fait que le pupitre ne te jette plus avec checksum erroné! On n'a pas un pupitre sous la main pour le savoir, nous!
Rhaaa!  
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018190
jimmy71
Posté le 20-08-2010 à 20:06:20  profilanswer
 

d'accord,  je vais tester mais je ne sais pas ce qu'est le modulo 16!!

n°2018193
h3bus
Troll Inside
Posté le 20-08-2010 à 20:51:19  profilanswer
 

Modulo 2^16 c'est le reste de la division euclidienne de ton nombre par 2^16 (=65536).
Une petite recherche google ne t'aurait pas fait de mal....


---------------
sheep++
n°2018194
jimmy71
Posté le 20-08-2010 à 20:56:26  profilanswer
 

d'accord, mais si je comprend,je selctionne tout le document et je le divise?? :/

n°2018204
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 22:25:12  profilanswer
 

Tu sais lire le français?
Pour le calcul du checksum,

Citation :

Au vu de la tronche des fichiers, c'est probablement la zone entre les deux ;RxChars->... qui est celle sur laquelle porte le calcul du crc.


Citation :

j'ajoute tous les chars (leur valeur ascii) modulo 2^16 entre les deux lignes débutant par un ;RxChars
ca me donne la valeur de la 2e ligne débutant par ;RxChars + 250 dans les deux cas.


A+,


Message édité par gilou le 20-08-2010 à 22:26:17

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018205
jimmy71
Posté le 20-08-2010 à 22:26:06  profilanswer
 

mouah, je crois avoir compris, j'ai effectué le modulo16 pour un fichier:
 
checksum donné par le logiciel:21861
vraie checksum:21471
donc modulo16  21861= 1341.9375*16+390
 
c'est ça? mais après?

n°2018206
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 22:28:00  profilanswer
 

Bon je renonce, j'ai fait suffisamment pédagogique, mon dernier conseil sera de manger beaucoup, beaucoup de poisson.
A+,


Message édité par gilou le 20-08-2010 à 22:28:16

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018208
jimmy71
Posté le 20-08-2010 à 22:31:05  profilanswer
 

je sais lire oui merci, je sais lire "probablement" aussi.
 
et de plus, je les inclues les ;RxChars-> ? car il y en a forcément un qaui sera inclu et l'autre non

n°2018209
jimmy71
Posté le 20-08-2010 à 22:31:19  profilanswer
 

je sais lire oui merci, je sais lire "probablement" aussi.
 
et de plus, je les inclues les ;RxChars-> ? car il y en a forcément un qaui sera inclu et l'autre non

n°2018211
jimmy71
Posté le 20-08-2010 à 22:34:23  profilanswer
 

si tu penses que tes messages sont "claire" pour toi, ils ne le sont pas forcément pour les autres, est-ce dur pour toi de détailler la marche à suivre? que d'aller chercher des messages à droite à gauche? il faut un peu de compréhension. C'est la première fois que je me met à chercher des notions aussi lointaine  que flou pour moi d'informatique.

n°2018214
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 22:38:01  profilanswer
 

jimmy71 a écrit :

je sais lire oui merci, je sais lire "probablement" aussi.

 

et de plus, je les inclues les ;RxChars-> ? car il y en a forcément un qaui sera inclu et l'autre non

On n'en inclus aucun des deux. Tu fais le calcul pour ce qui est entre les deux. Le fait que la ligne commence par un ; indique très probablement qu'elle a un statut spécial et qu'elle n'est pas à prendre en compte.
Et tu verras que pour les deux exemples donnés, un calcul ou on ajoute la valeur numérique de chaque caractère de cette zone (modulo 2 puissance 16, pour que le nombre final ait la bonne taille), on tombe, a 250 près, sur le crc inscrit dans ton fichier.
Avec deux exemples seulement, c'est pas une certitude que ce soit la bonne formule de checksum, cette somme plus (ou moins?) 250, mais c'est déjà a tenter.
A+,


Message édité par gilou le 20-08-2010 à 22:39:27

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018215
jimmy71
Posté le 20-08-2010 à 22:40:06  profilanswer
 

ah bah voilà un post claire et précis! merci Gilou! je regarde ça..

n°2018216
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 22:43:26  profilanswer
 

jimmy71 a écrit :

si tu penses que tes messages sont "claire" pour toi, ils ne le sont pas forcément pour les autres, est-ce dur pour toi de détailler la marche à suivre? que d'aller chercher des messages à droite à gauche? il faut un peu de compréhension. C'est la première fois que je me met à chercher des notions aussi lointaine  que flou pour moi d'informatique.

Quand on te dit que c'est pas sur le fichier mais sur une zone de celui ci seulement que la formule de calcul va s'appliquer (sinon on entre dans un cercle vicieux qui fait que le crc inscrit dans le fichier ne sera jamais sauf coup de chance rare le crc du fichier) et que ton message suivant dit que tu as fait toujours le calcul sur le fichier complet:

Citation :

mouah, je crois avoir compris, j'ai effectué le modulo16 pour un fichier:


Il y a de quoi s'énerver.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018217
jimmy71
Posté le 20-08-2010 à 22:46:17  profilanswer
 

alors non, mon message à mal été tourné, je n'éffectuais pas le modulo 16 pour tout le fichier, le" pour un fichier" voulais dire Pour un des deux fichiers que je vous ai fournis enfaite.. c'est un gros mal entendu

n°2018218
jimmy71
Posté le 20-08-2010 à 22:49:34  profilanswer
 

Donc le calcule que j'ai effectué au dessus:
 
 

Citation :

checksum donné par le logiciel:21861  
vraie checksum:21471  
donc modulo16  21861= 1341.9375*16+390


 
j'avoue ne pas être fort en math.. bon donc le Checksum indiqué ci-dessus est bien le checksum entre les ;rxchars...(non inclus)
 
bon c'est donc ça un Modulo 16?7
 
A+

n°2018220
gilou
Modérateur
Modzilla
Posté le 20-08-2010 à 23:08:46  profilanswer
 

Si tu fais quelque chose modulo 16, tu remet a 0 apres 15. Donc les valeurs seront entre 0 et 15. Hem, ca risque pas de te donner un nombre a 5 chiffres.
Modulo 2 puissance 16 par contre...
 
Bon, tu est pas capable de faire un programme qui
1) ouvre ton fichier  (un ou tu as modifié le texte, pour tester)
2) lit les lignes
3) calcule pour les lignes de zone dont on a parlé le checksum, en appliquant la formule indiquée
4) remplace l'ancien checksum par le nouveau
5) sauve le fichier
Pour tester le fichier sauvé avec ton matos (et voir s'il l'accepte ou non?)
??
Parce que si tu peux pas faire ça, vu qu'ici, on ne fait pas la totalité d'un programme a la place de celui qui pose un problème, je vois pas comment on va pouvoir progresser.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018226
h3bus
Troll Inside
Posté le 20-08-2010 à 23:36:25  profilanswer
 

Ouai bon alors on va partir de la base...
 
Faire un checksum, c'est prendre tous les octets qui nous intéressent, faire une bidouille avec pour obtenir un nombre.
 
Dans notre cas les octets qui nous intéressent ce sont les caractères qui composent ton fichier (chaque caractère correspond à un octet -nombre entre 0 et 255- fait une recherche "ASCII" pour plus d'infos), mais il semble que les caractères dont les lignes commencent par un ; ne soient pas à prendre en compte.
 
Bon ensuite maintenant que tu a les octets, il reste a faire la bidouille pour calculer le checksum: il semble ici qu'il faille faire la somme de tous les octets.
 
Ensuite, pour éviter que la somme de tout tes octets soit un nombre trop grand, on garde juste les 16 bits les moins significatifs de la somme et ça se fait grâce à une modulo avec 2^16.
 
Voilà, si tu ne comprends toujours pas je jette l'éponge...


---------------
sheep++
n°2018236
jimmy71
Posté le 21-08-2010 à 09:59:47  profilanswer
 

bon, une question: Modulo 2^16, às-t'il avoir avec CRC16?

n°2018242
Elmoricq
Modérateur
Posté le 21-08-2010 à 11:06:02  profilanswer
 

Ça te dirait pas de faire des recherches, et de tester un peu de ton côté ?
 
Parce que, bon, c'est assez usant là : on ne peut pas t'aider davantage ! On n'a pas assez de données, on n'a pas forcément envie de te programmer un truc tout fait pour tes beaux yeux, et globalement on t'a donné toutes les infos dont tu avais besoin, "y a plus qu'à".
 
Un dernier lien, trouvé en moins de 2s en tapant "crc16" sur google, pour te montrer 1) des algorithmes et 2) que des crc16, y en a plein :
http://en.wikipedia.org/wiki/Cycli [...] dized_CRCs

n°2018243
jimmy71
Posté le 21-08-2010 à 11:21:23  profilanswer
 

Mais j'ai effectué ce que vous m'avez dit! on était pas loin du résultat avant que vous repartiez dans l'autre sens..J'ai bien compris qu'il n'y à pas qu'un sujet à traiter sur ce forum et que mon cas est spécial!  
 
Et vous êtes gonflant avec "tu ne peux pas faire des recherches?" Je les fait ces recherches! et justement, ça va faire 3mois que je suis sur ce système de display et que je patauge!  
 
Un petit rappel de ma situation: Novice, Découvre un monde inconnue, des gens, programmateur ou amateur confirmé qui arrive, avec une panelle de formule...et la on s'étonne que je comprend rien! bah oui! je fais de mon mieux pour comprendre!  J'ai pas les logiciels pour calculer avec aisance les checksums....
 
Ps:Les documents Wiki ou autres, sont pour moi des documents illisible (je ne les comprends pas)..


Message édité par jimmy71 le 21-08-2010 à 11:23:30
n°2018259
gilou
Modérateur
Modzilla
Posté le 21-08-2010 à 12:59:30  profilanswer
 

Citation :

J'ai pas les logiciels pour calculer avec aisance les checksums....

Mais c'est a toi de les programmer ces logiciels. Si tu es pas capable de programmer une simple somme de puissances modulo 2^16, je vois pas ce qu'on va pouvoir faire pour toi, parce que c'est contre le règlement du forum qu'on le fasse à ta place.
Ici, c'est un forum d'entraide entre programmeurs, si tu ne sais pas programmer, je ne vois pas pourquoi tu es venu y poser ta question, alors que manifestement, tu ne comprends pas les réponses. On n'est pas responsable si tu n'as pas le minimum de connaissances en programmation qui te permettraient de comprendre nos réponses (qui sont pourtant ultra pédagogiques et simples) et qui permettent d'implémenter le calcul en 2 ou 3 lignes, comme ici, un exemple en perl le montre:

Code :
  1. sub checksum {
  2.    my $sum = 0;
  3.    map { $sum += ord($_) } split '', shift; # ajout de la valeur de chaque caractère
  4.    return $sum % 65536; # modulo 2^16
  5. }


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2018262
jimmy71
Posté le 21-08-2010 à 13:12:48  profilanswer
 

beh oui je sais bien que vous n'avez pas le droit...et que je n'ai aucune base de connaissance, même en lisant des chose simple, je ne comprend pas...Le code que tu affiches, doit ce retrouver sur un logiciel? ou...

n°2018266
jimmy71
Posté le 21-08-2010 à 13:22:59  profilanswer
 

j'ai déja compris une chose que je n'avais pas compris:
 
Il faut programmer un logiciel...mais pour cela, il faut un logiciel?? non...?

n°2018273
jimmy71
Posté le 21-08-2010 à 13:48:27  profilanswer
 

jme lance dans l'apprentissage de la programmation, je reviendrais après,si vous avez toujours envie de m'aider...

n°2018276
gilou
Modérateur
Modzilla
Posté le 21-08-2010 à 14:26:12  profilanswer
 

Pour ce que tu veux faire, un tout petit peu de connaissances en java devraient suffire:
1) Savoir écrire un programme qui ne fait rien mais est sans erreur
2) Savoir ouvrir un fichier, lire ligne a ligne son contenu (notion de boucle while), fermer un fichier ouvert
3) Savoir repérer si une ligne de texte commence par ;
4) Savoir ajouter la valeur ascii de tous les caractères d'une ligne (notion de boucle for)
5) Savoir créer un fichier, écrire dans ce fichier créé, fermer le fichier créé
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2395346
xaek
Posté le 08-09-2021 à 17:33:55  profilanswer
 

jimmy71 a écrit :

Bonjour,  
 
voilà,je travail sur un system de Display , et pour pouvoir faire fonctionner ce display je dois trouver le checksum de se fichier:  
--------------------------------------------------------------------------------------------------------------------  

Code :
  1. ;VerbaTX V3.0
  2. ;TxParam->9600,N,8,2
  3. ;RxChars->3,|
  4. ZP
  5. *00000A30a000
  6. *0000115
  7. 000001
  8. Bienvenue Dans le SC10
  9. 00000G00047FFEE03EE0B8E6B2E7F7E037E032E038FFFE60026002600260027FFE603E603E663E67FE60387FF26037663767F260307FF06032663767F760327C3807FC0008G00000G00047FFEE03EE0B8E6B2E7F7E037E032E038FFFE60026002600260027FFE603E603E663E67FE60387FF26037663767F260307FF06032663767F760327C3807FC0008G02F00N02CBienvenueC72309N02CDans le SC10C0
  10. 000002
  11. Ce bus ne prend pas de voya
  12. 70000N73CCe bus ne prend pas de voyageurC0
  13. ;RxChars->5,|28793


 
  
----------------------------------------------------------------------------------------------------------------  
Le checksum; c'est le dernier chiffre "28793". Mon but est de retrouver ce code par le biais de logiciel, ou de table ascii.  
Merci de votre compréhension,  
 
Bonne soirée!


 
Je suis désolé de faire revivre ce thème très ancien, et je suis désolé de ne pas m'exprimer trop bien en français.
J'avais aussi besoin du programme dont on discute depuis longtemps, heureusement je l'ai déjà réalisé et je veux le partager avec vous.
Ce fichier sert à configurer un panneau lumineux de la marque AESYS, le programme qu'il faut utiliser est VerbaPlus, je laisse ici un lien vers le programme et les manuels.
salutations.
 
https://mega.nz/folder/Rd1yRKRZ#c-pZ-ZWADSsIgYL0794f2A

n°2395371
gilou
Modérateur
Modzilla
Posté le 09-09-2021 à 00:08:32  profilanswer
 

Sauf qu'ici, il y a longtemps qu'on ne télécharge pas un exécutable sans contrôle sur ce qu'il contient exactement.
Le code source nous permettrait d'avoir une opinion par contre.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
un form qui appele la page où il se trouvela code PHP et le code HTML qui se trouve aprés ne fonctionnent pas!
Include d'un menu selon la session ou on se trouve, sécurité ?bug que je ne trouve pas sur mon panier
batch qui trouve un sid puis l'intègre dans une clé de registreQuestion bête. Mais je n'ai pas trouvé
trouve pas de fichier alors que le fichier est dedans??mon programme ne trouve pas la classe
[C] Erreur que je trouve pas :Dtrier un tableau qui se trouve sur une autre feuille
Plus de sujets relatifs à : Checksum (trouve pas)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR