[Resolu] Gestion des DIM et décalage

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

[Resolu] Gestion des DIM et décalage

Message par Ar-S »

Yo,

j'essaye de comprendre comment remplacer facilement la position des contenu d'un tableau, en l’occurrence, l’alphabet afin de pouvoir créer un petit code de cryptage simple. je suis certains qu'il y a une méthode simple pour cela mais je m'emmêle les pinceaux.

Voilà ce que je souhaite faire.
Par rapport à un date : exemple : jour : 24 ou Mois : 9

Code : Tout sélectionner

Jour = 24
Mois = 9

Dim Alphabet.l(26)

Alphabet(0) = "a"
Alphabet(1) = "b"
Alphabet(2) = "c"
Alphabet(3) = "d"
Alphabet(4) = "e"
Alphabet(5) = "f"
Alphabet(6) = "g"
Alphabet(7) = "h"
Alphabet(8) = "i"
Alphabet(9) = "j"
Alphabet(10) = "k"
Alphabet(11) = "l"
Alphabet(12) = "m"
Alphabet(13) = "n"
Alphabet(14) = "o"
Alphabet(15) = "p"
Alphabet(16) = "q"
Alphabet(17) = "r"
Alphabet(18) = "s"
Alphabet(19) = "t"
Alphabet(20) = "u"
Alphabet(21) = "v"
Alphabet(22) = "w"
Alphabet(23) = "x"
Alphabet(24) = "y"
Alphabet(25) = "z"
Je ne sais pas comment m'y prendre pour swapper les éléments simplement.

Exemple : Si on utilise le mois pour le décalage : Mois = 24
Dans l'alphabet, la 24eme lettre est : 'x'
Donc je souhaite que mon décalage soit :
x = 1 , y = 2 , z = 3 , a = 4 , b = 5 etc...
Dernière modification par Ar-S le ven. 02/sept./2011 10:44, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Gestion des DIM et décalage

Message par flaith »

Cryptage de César ?
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Gestion des DIM et décalage

Message par Ar-S »

Oui à la base, même si au final il sera différent. La c'est le plus simple pour arriver à comprendre comment déplacer automatiquement les éléments du tableau par rapport aux mois ou au jour


--- EDIT ---

Je suis passé par les valeur ASCII pour chopper l'alphabet, me reste à les utiliser pour la substitution, ça devrait être plus facile.. :?

Code : Tout sélectionner

Dim Alphabet.s(25)

i = 0
For k = 97 To 122
  Alphabet(i) = Chr(k)
i+1
Next
 
Jour = 24
Mois = 9

For i = 0 To 25
  Debug Alphabet(i)
  
Next  
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Gestion des DIM et décalage

Message par flaith »

..
Dernière modification par flaith le jeu. 01/sept./2011 16:07, modifié 1 fois.
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Gestion des DIM et décalage

Message par case »

je ne sais pas si j'ai bien compris mais peut être une idée

Code : Tout sélectionner

Global *ascii=AllocateMemory(255)
Procedure decal(decalage)
decalage+1
For a=0 To 255  
  PokeB(*ascii+a,(255+(a+decalage)) % 256)  
Next
EndProcedure
;
;
;
decal (-100)
For a= 0 To 255
  Debug PeekB(*ascii+a) &$ff
Next
Debug "-----------------"
decal (4)
For a= 0 To 255
  Debug PeekB(*ascii+a) &$ff
Next
decal (0)
Debug "-----------------"
For a= 0 To 255
  Debug PeekB(*ascii+a) &$ff
Next

ImageImage
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Gestion des DIM et décalage

Message par case »

une autre version limitée a l'alphabet

Code : Tout sélectionner



Global *table=AllocateMemory(52)
Global *result=*table+26
For a=0 To 25  ; remplissage valeurs par defaut
  PokeB(*table+a,97+a)
  PokeB(*result+a,97+a)
Next
;
Procedure decal(decalage)
decalage+1
For a=0 To 25
  PokeB(*result+a,PeekB(*table+((25+(a+decalage)) % 26)))
Next
EndProcedure
; application du decalage
decal(-1) 
; decal 1     : a=b
; decal -1    : a=z
;affiche le resultat
For a=0 To 25
  Debug Chr(PeekB(*result+a)& $ff)
Next
;
;
;

ImageImage
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Gestion des DIM et décalage

Message par Ar-S »

Case, c'est exactement ça (j'ai testé le second code uniquement), par contre, peux-tu expliquer le & $FF de

Code : Tout sélectionner

Chr(PeekB(*result+a)& $FF)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Gestion des DIM et décalage

Message par case »

si tu n'utilise qu'une valeur de 0 a 25 tu peux le virer c'etait pour le premier code sur l'ensemble du code ascii car 255 avec un peekb() retourne -127
le & $ff transforme en word et ne renvoi que la partie byte donc non signé de 0 a 255...
ImageImage
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Gestion des DIM et décalage

Message par Ar-S »

Merci :)
J'ai viré le decalage+1 car je souhaitais (voir 1er post) que par exemple
Mois = 24
Je prends la 24eme lettre donc X
et cette lettre prend la valeur 1 (et pas 0)
Je n'utilise pas le décalage par "soustraction" pour mon p'tit projet.

Voilou.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Gestion des DIM et décalage

Message par case »

tu fais comme tu veux c'est pour ton projet :)

n'oublie pas cependant que l'emplacement mémoire commence a zéro et pas a 1

mois =24
'x' est la première lettre, mais en mémoire elle est a offset +0
PeekB(*result+0)
ImageImage
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: Gestion des DIM et décalage

Message par Fred »

Utilise PeekA() t'auras pas à faire le &$FF :)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Gestion des DIM et décalage

Message par Ar-S »

Fred a écrit :Utilise PeekA() t'auras à faire le &$FF
Tu veux dire "t'auras pas ?"
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Gestion des DIM et décalage

Message par case »

oui je pense que c'est ce qu'a voulu dire fred :)
je devrais relire la doc moi ^^
ImageImage
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Gestion des DIM et décalage

Message par Ar-S »

Je marque résolu, je vais tenter de gérer le swap d’éléments d'une phrase codée avec tout ça.
Merci
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [Resolu] Gestion des DIM et décalage

Message par Backup »

................
Dernière modification par Backup le sam. 01/oct./2011 9:17, modifié 1 fois.
Répondre