Forum Liberty Basic France
• Index
'Le programme est tout à fait symétrique. Si on enlève les 2 lignes du réflecteur (entre les 'instructions call), le codage de "bonjour" est . . ."bonjour".
Code VB :
Code VB :
' C'est le réflecteur qui introduit une' 'asymétrie ce qui permet le codage ' CHIFFREMENT ET DECHIFFREMENT 'Inspirés par la machine Enigma 'Créé par Jacques Donner le 3/06/2015 a=13: b=7: c=19 'Position initiale des rotors Rotor$(0) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Rotor$(1) = "EKMFLGDQVZNTOWYHXUSPAIBRCJ" Rotor$(2) = "AJDKSIRUXBLHWTMCQGZNPYFVOE" Rotor$(3) = "BDFHJLCPRTXVZNYEIWGAKMUSQO" Rotor$(4) = "ESOVPZJAYQUIRHXLNFTGKDCMWB" 'Non utilisé Rotor$(5) = "VZBRGITYUPSDNHLXAWMJQOFECK" 'Non utilisé Reflect$ = "YRUHQSLDPXNGOKMIEBFZCWVJAT" open "Systdata.bas" for input as #1 input #1,ttx$ close #1 input "Message à chiffrer ou déchiffrer ? ";tex$ if tex$= "" then tex$=ttx$ tex$ = upper$(tex$):cls lt = len(tex$) :global t$,n ' for p = 1 to lt n=1 : t$ = mid$(tex$,p,1) call enig 0,1,a 'entrée,sortie,code call enig 1,2,b call enig 2,3,c R=asc(t$)-64 t$=mid$(Reflect$,R,1) call enig 3,2,c call enig 2,1,b call enig 1,0,a tt$=tt$+t$ a=a+1 'compteur if a>26 then a=1 : b=b+1 if b>26 then b=1 : c=c+1 if c>26 then c=1 next p print tex$ : print tt$;" ";lt open "Systdata.bas" for output as #1 print #1,tt$ close #1 end sub enig e,s,co 'entrée,sortie,code n=n+1 : if n>4 then co=0-co R=instr(Rotor$(e),t$,1) : R=R+co If R>26 then R=R-26 If R<1 then R=R+26 t$=mid$(Rotor$(s),R,1) end sub
Bonjour Jacques,
Si tu pouvais mettre en pièce jointe le fichier "Systdata.bas" ou nous dire comment le créer, parce que là, le programme ne le trouve pas et génère une erreur.
A+
Si tu pouvais mettre en pièce jointe le fichier "Systdata.bas" ou nous dire comment le créer, parce que là, le programme ne le trouve pas et génère une erreur.
A+
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Christophe:
Systdata.bas, c'est un fichier à créer, vide au départ. une page blanche puis "enregistrer sous" > Syst data.bas. On peut s'en passer taper un texte sans espaces puis enter
Bonjour Jacques,
Si tu pouvais mettre en pièce jointe le fichier "Systdata.bas" ou nous dire comment le créer, parce que là, le programme ne le trouve pas et génère une erreur.
A+
Si tu pouvais mettre en pièce jointe le fichier "Systdata.bas" ou nous dire comment le créer, parce que là, le programme ne le trouve pas et génère une erreur.
A+
Systdata.bas, c'est un fichier à créer, vide au départ. une page blanche puis "enregistrer sous" > Syst data.bas. On peut s'en passer taper un texte sans espaces puis enter
y a un os dans l'pâté, Si tu fais lire un fichier vide sans mettre un while EOF
ça renvoie l'erreur "past of end"
Il suffirait peut-être de créer le fichier avant de l'ouvrir
Avec un simple "open for output"
Et lire dans une boucle
while(eof#x)=0
.....
wend
ça renvoie l'erreur "past of end"
Il suffirait peut-être de créer le fichier avant de l'ouvrir
Avec un simple "open for output"
Et lire dans une boucle
while(eof#x)=0
.....
wend
____________________
Roro
Roro
Roland, si on demande au programme de générer ce fichier Sysdata au lancement, il écrasera la version précédente, c'est gênant si on compte sur cette version précédente. Dans la ligne input "Message à chiffrer ou déchiffrer ? ";tex$ et les suivantes, le programme ira chercher le contenu de Sysdata si l'utilisateur entre une chaine vide.
Je verrai donc bien une modif pour tester l'existence de Sysdata au lancement du programme, et le créer avec une chaine test à l'intérieur s'il n'existe pas.
Jacques : au fait, pourquoi "Systdata.bas" ? On s'attendrait plutôt à trouver un .txt ou une extension de ton choix.
Edité par Christophe Le 20/10/2016 à 13h54
Je verrai donc bien une modif pour tester l'existence de Sysdata au lancement du programme, et le créer avec une chaine test à l'intérieur s'il n'existe pas.
Jacques : au fait, pourquoi "Systdata.bas" ? On s'attendrait plutôt à trouver un .txt ou une extension de ton choix.
Edité par Christophe Le 20/10/2016 à 13h54
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Sysdata qui vous chipote n'est qu'un accessoire d'entrée et de sortie, un intermédiaire si l'on veut mis pour passer facilement du non chiffré au chiffré ou inversement et transmettre ailleurs.
C'est surtout l'extension qui me chipote, le .bas identifie un programme.
Autrement, même si Sysdata n'est qu'un intermédiaire, à partir du moment où tu veux éventuellement "transmettre ailleurs" il est toujours bon de soigner sa gestion.
Autrement, même si Sysdata n'est qu'un intermédiaire, à partir du moment où tu veux éventuellement "transmettre ailleurs" il est toujours bon de soigner sa gestion.
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Si ce systdata vous dérange, vous pouvez le supprimer. Il n'a été mis lors de la mise au point que pour voir sans recopier le chiffré et le déchiffré.
hey, il faut traiter les espaces et les rendre en espaces
Pourquoi des majuscules ?
Pourquoi des majuscules ?
____________________
Roro
Roro
Roland:
Non, les espaces étaient aussi codés avec Enigma et toutes les lettres étaient en majuscule
hey, il faut traiter les espaces et les rendre en espaces
Pourquoi des majuscules ?
Pourquoi des majuscules ?
Non, les espaces étaient aussi codés avec Enigma et toutes les lettres étaient en majuscule

T'inquiète pas, Jacques, ton Sysdata ne me gêne pas, c'est juste pour la curiosité de savoir le pourquoi du comment et comment on peut améliorer, si besoin.
Nephthys : yes I am a little bit nervous, I am waiting for Mr Mulder and Mrs Scully to talk about five little green men I saw this night in my garden : they were stealing apples and strawberries.
Nephthys : yes I am a little bit nervous, I am waiting for Mr Mulder and Mrs Scully to talk about five little green men I saw this night in my garden : they were stealing apples and strawberries.

____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie