code 2/5 entrelacé : aide au decryptage - Algo - Programmation
Marsh Posté le 27-08-2004 à 17:54:07
|
En binaire est-ce que c'est ça ?
Marsh Posté le 27-08-2004 à 18:18:55
Je crois qu'il y a un souci dans le code barre que tu as posté en tout cas voilà le résultat du début :
101010001110001110 70
101110101110001000 97
101010001110111010 7? (4 sans doute)
après, ça par en vrille.
fff_g_gfgfg_f_fff_ggf_fff_g_gffgg_f_fgg_f_ff_fggf_gf
En gras, la partie qui me semble erronée mais après je ne vois pas comment on s'en sort.
Peux-tu vérifier stp ?
Marsh Posté le 27-08-2004 à 18:26:20
Sinon voici la correspondance binaire que tu dois sans doute avoir, mais bon au cas où :
f : 1
g : 111
_ : 000
1010111011101 : 0
1110101010111 : 1
1011101010111 : 2
1110111010101 : 3
1010111010111 : 4
1110101110101 : 5
1011101110101 : 6
1010101110111 : 7
1110101011101 : 8
1011101011101 : 9
Marsh Posté le 27-08-2004 à 19:16:43
le code barre est bon mais je ne peut t'envoyer l'image car la carte ne passe pas au scanner
est ce que l'on peut communiquer par mail
je peut t'envoyer des photos du code deja decripté?
le probleme c'est qui si l'on genere un code barre a partir du chiffre
que tu donne on a pas le meme code
va voir sur www.chambily.com il y a un generareur de code 2/5
Marsh Posté le 27-08-2004 à 19:36:29
yop, cf MP
euh ben moi je suis allé sur http://pitoo.a-bd.com/code_25.php
ptete que c'est faux mais bon...
Marsh Posté le 31-08-2004 à 11:44:17
Code résolu !
suite au correctif du code que tu m'a indiqué en MP voici ce que j'ai obtenu :
ffff_g_gfgfg_f_fff_ggf_fff_g_gffgg_f_fgg_f_ff_fggf_gf
se décompose en binaire comme ci-dessous et permet de décoder le code barre :
1010 : marqueur début
101000111000111010 : 06
111010111000100010 : 50
101000111011101000 : 02
101010001110001110 : 70
101011101110001000 : 07
101110111000100010 : 60
100010111011101000 : 01
11101 : marqueur fin
=> au final on obtient : 06500270076001
voilà
Marsh Posté le 31-08-2004 à 11:51:45
hyrsut a écrit : salut |
Excuse moi de ne pas avoir tout compris mais ça a l'air très intéressant.. Pourrais expliquer aux profanes comme moi pourquoi tu dois passer par la représentation numérique de ta carte pour en faire une copie ? copier le code barre ne suffit pas ?
Marsh Posté le 31-08-2004 à 11:54:56
intéressant
Marsh Posté le 31-08-2004 à 12:00:39
Kyle_Katarn a écrit : Excuse moi de ne pas avoir tout compris mais ça a l'air très intéressant.. Pourrais expliquer aux profanes comme moi pourquoi tu dois passer par la représentation numérique de ta carte pour en faire une copie ? copier le code barre ne suffit pas ? |
la question qui tue
Marsh Posté le 31-08-2004 à 12:13:47
oui, je crois savoir pourquoi. Il veut utiliser le programme de génération de code barre sur http://www.chambily.com/ pour imprimer le sien. Mais effectivement, est-ce qu'une simple photocopie ne suffirait pas ? hmmm...
Marsh Posté le 31-08-2004 à 17:49:25
pains-aux-raisins a écrit : oui, je crois savoir pourquoi. Il veut utiliser le programme de génération de code barre sur http://www.chambily.com/ pour imprimer le sien. Mais effectivement, est-ce qu'une simple photocopie ne suffirait pas ? hmmm... |
C'est grosso modo l'escence de ma question.
Marsh Posté le 31-08-2004 à 17:55:32
salut
il est effectivement possible de scanner le code si la carte s y prete
ce qui n'est pas toujours le cas
c'est pourquoi j'ai demander de l'ai pour ma carte qui ne passe pas au scanner
merci pains aux raisins de ton aide
mais pourrais tu m'aider a comprendre completement le systeme de chiffrage car malgres l'aide obtenue sur differents sites je n'ai pas reussi a recreer le code d'origine.
Marsh Posté le 31-08-2004 à 19:04:08
salut,
je ne sais pas si je vais pouvoir t'expliquer mieux que sur le site posté précédemment ; disons que j'ai découvert le code 2/5i avec ton post
Ton code barre à 4 types d'éléments : la barre fine, la barre épaisse, l'espace fin et l'espace épais. Donnons leur d'emblée une représentation binaire :
barre fine : 1
barre épaisse : 111
espace fin : 0
espace épais : 000
En mode 2/5 entrelacé la structure d'un "message" est la suivante :
<bloc début><données utiles><bloc fin>
Le bloc de début est représenté par la suite binaire 1010.
Le bloc de fin est représenté par la suite binaire 11101.
Les données utiles représentent uniquements les chiffres décimaux de 0 à 9.
Les données utiles peuvent être décomposées en bloc de 18 bits.
Chaque bloc de 18 bits code deux chiffres décimaux.
Le premier chiffre décimal d'un bloc se décode en ne tenant compte que des bits de valeurs 1.
Par exemple pour ce bloc de 18 bits : 101000111000111010
en faisant abstraction des bits 0, on a (1,1,111,111,1)
Je rappelle ici le codage de chaque chiffre décimal qui peut être vu comme une suite de bits à 1, dans le cas du décodage du premier chiffre décimal :
0 : 1,1,111,111,1
1 : 111,1,1,1,111
2 : 1,111,1,1,111
3 : 111,111,1,1,1
4 : 1,1,111,1,111
5 : 111,1,111,1,1
6 : 1,111,111,1,1
7 : 1,1,1,111,111
8 : 111,1,1,111,1
9 : 1,111,1,111,1
En comparant la liste des bits à 1 du bloc de 18 bits (1,1,111,111,1) à la table de correspondance ci-dessus, on en déduit qu'il s'agit du chiffre décimal 0.
Maintenant qu'on a vu comment décoder le premier chiffre décimal pour un bloc de 18 bits , voyons comment faire pour décoder le second.
C'est assez simple, il suffit d'inverser les bits du bloc (les bits 1 deviennent des bits 0 et vice-versa) et d'appliquer ensuite la même méthode que pour le décodage du premier chiffre décimal.
Si on reprend l'exemple du bloc de 18 bits précédent on a :
not(101000111000111010) = 010111000111000101.
Ce qui nous donne en faisant abstraction des bits 0 la liste (1,111,111,1,1)
A l'aide de la table de correspondance des chiffres décimaux, on en déduit que le second chiffre décimal est 6.
On répète ce petit algo autant de fois qu'il y a de blocs de 18 bits à traiter ce qui nous permet de déduire tout les chiffres décimaux du code barre 2/5 entrelacé.
En espérant avoir été suffisamment clair
pains-aux-raisins
Marsh Posté le 03-11-2006 à 22:09:01
et si je veux codé 002711 en code barre entrelacé 25 je fais comment ?
c vraiment tordu ce systeme ! jme suis deja bien ennervé dessus (
Marsh Posté le 04-11-2006 à 02:00:15
Si c'est pour faire des cartes de secours, pas besoin de decrypter... Suffit de recopier.
Marsh Posté le 02-11-2007 à 13:38:21
matafan a écrit : Si c'est pour faire des cartes de secours, pas besoin de decrypter... Suffit de recopier. |
Mais peut-être qu'il a l'esprit mal intentionné
D'ailleurs on a plus de nouvelle, peut-être qu'il n'a pas accès au forum depuis la prison
Marsh Posté le 02-11-2007 à 13:41:27
Sujet d'utilité publique
Marsh Posté le 03-11-2007 à 14:15:44
bah c'est la fête des morts en ce moment même pour les topics
Marsh Posté le 27-08-2004 à 16:59:09
salut
ayant marre de casser mes cartes de cantines
j'ai decider de me faire des cartes de secours
j'ai identifier le code 2/5 entrelace
et une partie du chiffre associe:
63.........076001
voila le code barre:
f = barre fine
g = barre epaisse
_ = grand espace
fff_g_gfgfg_f_fff_ggf_fff_g_gffgg_f_fgg_f_ff_fggf_gf
merci de m'aider au decryptage
---------------
vive la PTSI