Enigma (ancêtre du codage)

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

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.