Enigma (ancêtre du codage)

Soyez le premier à donner votre avis sur cette source.

Vue 13 224 fois - Téléchargée 620 fois

Description

Voici ce mini code tout simple qui rapelle beaucoup les codages lors de la 2nde guerre mondiale.

Bien sûr la sécurité n'est absolument pas poussée, mais celà peut s'averer utile si par exemple vous possédez des fichiers textes ou ini pour votre programme et que vous ne souhaitez pas que l'on puisse les lire directement (à condition que ce soit pas très important) : on serait alors obligé d'utiliser le programme pour les lire sans avoir besoin d'un lourd et peu pratique algorythme dans son programme :)

Voilà, on utilise alors la methode replace.

On peut :
- coder directement le texte tapé
- Ouvrir un fichier txt puis le coder
- Ouvrir un fichier txt puis le décoder

Source / Exemple :


Sub Button1Click(sender As Object, e As System.EventArgs)
	Timer1.Start()

		
End Sub
	
	
Sub MainFormLoad(sender As Object, e As System.EventArgs)
	Timer1.Interval = 150 'intervalle du compteur
    	Dim SW As New StreamWriter("count.txt") 'on crée un compteur
    	SW.WriteLine("0") 'on lui attribue la valeur 0 (de départ)
    	SW.Close() 'on quitte
    	
End Sub
	
Sub Timer1Tick(sender As Object, e As System.EventArgs)
	Dim SR As New StreamReader("count.txt") 'on lit le compteur
	Dim val as Decimal
	val = SR.ReadLine() 'on lit la valeur du compteur
	SR.Close()
		
	Dim longueur As Decimal
	longueur = len(textbox2.text)
	If longueur = val Then 'cas lorsque toutes les données ont été décodées
		Timer1.Stop() 'on arrête le timer
		MessageBox.Show("Conversion terminée !") 'petit message de confirmation
		TextBox1.Text = ""
			
		Dim SW1 As New StreamWriter("count.txt") 'on réinitialise le compteur
    		SW1.WriteLine("0")
    		SW1.Close()
    	Else
		TextBox2.SelectionStart=val 'position de départ
		TextBox2.SelectionLength=1 'longueur de texte
		Dim code As decimal
		code = Asc(textBox2.SelectedText) 'On fait le phénomène inverse
		Dim cran1 As decimal
		cran1 = ComboBox1.Text() 
		Dim rotor1 As decimal
		rotor1 = code-cran1 
		Dim cran2 As Decimal
		cran2 = ComboBox2.Text() 
		Dim rotor2 As Decimal
		rotor2 = rotor1-cran2
		Dim cran3 As Decimal
		cran3 = ComboBox3.Text()
		Dim rotor3 As Decimal
		rotor3 = rotor2+cran3 
		Dim resultat As String
		resultat = Chr(rotor3) ' On affiche le Résultat
		textbox3.AppendText(resultat)
			
		Dim val2 As Decimal 'on ajoute 1 au compteur pour se déplacer d'un caractère
		val2 = val+1
		Dim SW As New StreamWriter("count.txt")
	    	SW.WriteLine(val2)
	    	SW.Close()
	    	
	End If
		
End Sub
	
Sub Button2Click(sender As Object, e As System.EventArgs)
	TextBox1.Text = "" 'raser toutes les données
	TextBox2.Text = ""
	TextBox3.Text = ""
	Dim SW As New StreamWriter("count.txt")
    	SW.WriteLine("0")
    	SW.Close()
		
End Sub

Conclusion :


Je rapelle comme qu'il s'agit de CODAGE/DECODAGE et non pas de CRYPTAGE/DECRYPTAGE !
Merci d'en prendre compte !

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

Effectivement nico, tu as raison, ma source est une sorte de "mix" d'enigma et de methode ascii.
Dans la source que tu m'as donnée, on se rapproche beaucoup de la vraie car on effet on arrive a coder plusieurs fois de manière différente un même caractère : c'est du beau boulot !

Ceci n'est qu'un petit mix (je radote) qui marche assez bien, mais je débute ;)
Pour ce qui est de l'adaptation de VB6 en .NET, c'est pas trop mon truc ! :D
Messages postés
395
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
19 juin 2009
1
Pour te donner une idée de la vrai méthode de codage de l'enigma regarde ici :http://www.vbfrance.com/codes/ENIGMA-ENCODE-VRAI_36386.aspx

Dsl c'est du VB6 mais bon on peut quand même voir ce que ca fait !

Ca montrera en fait le VRAI principe de fonctionnement de l'enigma, qui repose sur ces fameux "Rouages" !!
Messages postés
1
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
9 février 2006

Très bonne source ! Il faut juste ne pas oublier le code que l'on a utilisé... lool
Messages postés
244
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013

J'aime beaucoup le recopiage, mais le but ici n'étant pas de trouver sur le net la meilleure définition pour décryptage et/ou codage, chacun peu avoir son propre avis....
Non le but ici est de ragarder ma source qui au début était vraiment naze et que j'ai tant bien que mal essayé d'arranger. Je vous serait alors très reconnaissant de bien vouloir stoper des critiques bien qu'intéréssantes sur le titre, ou pourquoi ancêtre du codage est entre parenthèses...mdr... mais plutot de se pencher sur le contenu.

Merci les gars ;)
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Bon. Que le A devienne B ou K, c'est dans les deux cas un algorithme de chiffrage monoalphabétique par substitution avec une clé de cryptage est de 8 bits. CQFD.

http://www.apprendre-en-ligne.net/crypto/menu/index.html
Bonne lecture les amis
Afficher les 18 commentaires

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.