Cryptage de césar

Soyez le premier à donner votre avis sur cette source.

Vue 15 302 fois - Téléchargée 922 fois

Description

Voici un petit programme que j'ai réalisé et qui permet de crypter un texte selon la technique de César. Il permet également de décrypter le texte crypté afin de retrouver le texte d'origine. Sans prétention bien sûr mais c'est pour moi un bon mode d'apprentissage. Dites-moi ce que vous en pensez...

Source / Exemple :


Public Class Form1
    Inherits System.Windows.Forms.Form
    Public strMessage As System.String
    Public strCrypt As System.String
    Public strDecrypt As System.String
    Public strLettre As System.Char
    Public intCompteur As System.Int32
    Public intcompteur1 As System.Int32

Private Sub btnCrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCrypt.Click

        strMessage = txtMessage.Text
        For intCompteur = 0 To strMessage.Length - 1 Step 1
            For intcompteur1 = 0 To 255 Step 1
                strLettre = strMessage.Substring(intCompteur, 1)
                If strLettre = Chr(intcompteur1) Then
                    If intcompteur1 > 252 Then
                        strLettre = Chr(intcompteur1 - 253)
                        lblCrypt.Text &= strLettre
                    Else
                        strLettre = Chr(intcompteur1 + 3)
                        lblCrypt.Text &= strLettre
                    End If
                End If
            Next
        Next
    End Sub

    Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click
        strCrypt = lblCrypt.Text
        For intCompteur = 0 To strCrypt.Length - 1 Step 1
            For intcompteur1 = 0 To 255 Step 1
                strLettre = strCrypt.Substring(intCompteur, 1)
                If strLettre = Chr(intcompteur1) Then
                    If intcompteur1 < 3 Then
                        strLettre = Chr(intcompteur1 + 253)
                        lblDecrypt.Text &= strLettre
                    Else
                        strLettre = Chr(intcompteur1 - 3)
                        lblDecrypt.Text &= strLettre
                    End If
                End If
            Next
        Next
    End Sub

    Private Sub btnEffacer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEffacer.Click
        txtMessage.Text = ""
        lblCrypt.Text = ""
        lblDecrypt.Text = ""
        txtMessage.Focus()
    End Sub

    Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click
        Me.Close()
    End Sub
End Class

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

TroXsA
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1 -
Ben là j'aurais utilisé "RSA" :)
l'autre est mieux :)


www.troxsa.info
chewbaka62
Messages postés
67
Date d'inscription
mardi 1 novembre 2005
Statut
Membre
Dernière intervention
30 juillet 2006
-
Oui, ça c'est un autre morceau! Mais je vais m'y atteler.
Merci
cs_schtroumf
Messages postés
59
Date d'inscription
mercredi 8 octobre 2003
Statut
Membre
Dernière intervention
22 juillet 2008
-
# If intcompteur1 > 252 Then
# strLettre = Chr(intcompteur1 - 253)
# lblCrypt.Text &= strLettre
# Else
# strLettre = Chr(intcompteur1 + 3)
# lblCrypt.Text &= strLettre
# End If
peut être remplacé par
# lblCrypt.Text &= Chr((intcompteur1 + 3) mod 256 )

de même pour le décryptage :)
bonne prog
chewbaka62
Messages postés
67
Date d'inscription
mardi 1 novembre 2005
Statut
Membre
Dernière intervention
30 juillet 2006
-
Merci schtroumf mais j'avais utilisé cette technique dans le cryptage de Vigenère que j'ai posté hier aussi. J'ai voulu simplement faire autrement mais il est vrai que c'est beaucoup plus élégant avec Mod 256.
A plus.
cs_amamilou
Messages postés
1
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
12 octobre 2010
-
en cas de (x, y et z) on doit revenir (a, b et c) normalement, sa marche pas ici

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.