Vous êtes sur la page 1sur 2

Cryptage_2 :

Dans le but de sécuriser les messages à envoyer, on peut faire appel à une méthode de cryptage.
Une des méthodes utilisées consiste à remplacer chaque lettre du message à crypter par celle qui
la suit de p positions dans l'alphabet français, où p désigne le nombre de mots du message.
NB :

 On suppose que le caractère qui suit la lettre "Z" est le caractère "A" et celui qui suit la lettre "z"
est le caractère "a".
 Le caractère espace ne subit aucune modification.
 Le code ASCII de la lettre "a" est égal à 97 et celui de la lettre "A" est égal à 65.

Écrire un programme qui permet de saisir un message M formé uniquement de lettres et


d’espaces puis de l’afficher crypté, en utilisant le principe cité ci-dessus.
Exemple :
Saisir le texte à crypter : Exercice cryptage
Le programme affichera :
Le texte crypté est : Gzgtekeg etarvcig
Correction  :

def vérifier (ch) :

if (len (ch) > 0) :

for i in range (len (ch)) :

if ((ch [i] < "A") or (ch [i] > "Z")) and ((ch [i] < "a") or (ch [i] > "z")) and (ch [i] != " ") :

return False

return True

else :

return False

def saisir_message () :

ch = ""

while not (vérifier (ch)) or (nombre_de_mots (ch) <= 1) :

ch = input ("Saisir le message à crypter :")

return ch

def nombre_de_mots (ch) :

prec = " "

nb = 0
for i in range (len (ch)) :

if ((prec == " ") and (ch [i] != " ")) :

nb += 1

prec = ch [i]

return nb

def crypter (ch) :

p = nombre_de_mots (ch)

message_crypté = ""

for i in range (len (ch)) :

if (ch [i] != " ") :

if ((ch [i] >= "A") and (ch [i] <= "Z")) :

j = p + ord (ch [i]) - 64

if (j > 26) :

j %= 26

j += 64

elif ((ch [i] >= "a") and (ch [i] <= "z")) :

j = p + ord (ch [i]) - 96

if (j > 26) :

j %= 26

j += 96

message_crypté += chr (j)

else :

message_crypté += " "

return message_crypté

#programme principal

m = saisir_message ()

print ("Le message crypté est :", crypter (m))

Vous aimerez peut-être aussi