Python : Chiffrement | Code César (Tuto Débutant / Intermédiaire)
Vložit
- čas přidán 10. 11. 2019
- Dans cette vidéo nous allons voir le chiffrement de César ( Code César ou appelé le chiffre de César ). Ce chiffrement était utilisé par Jules César et c'est l'un des premiers système de cryptage ( NB : On n'utilise pas le cryptage, mais chiffrage, le mot cryptage en soi n'a pas de sens ). Il utilise le décalage en fonction de la clef utilisé ( avec une clef de 1 on décale toutes les lettres de 1, b devient c, d devient e ... )
Autre vidéos :
IA de morpion : • IA de morpion en Pytho...
Pendu python : • Jeu Python : Pendu | T...
liste vs tuple | Python | Tuto débutant : • liste vs tuple | Pytho...
👉 Guide pour monter son pc : • Comment monter son pre...
⭐Mes produits préférés:
🖥️ Écran 144Hz incurvé 24 pouces : amzn.to/3qs5bJk
🖱️ Souris : amzn.to/3qpNNVG
🎤 Microphone : amzn.to/30mppcG
⌨️ Clavier Mécanique : amzn.to/3bp0taS
🔊 Enceinte : amzn.to/3btBq6N
⚡ Composants du pc :
Processeur : amzn.to/3kTWshQ
Carte graphique : amzn.to/3v7PmuI
Carte mère : amzn.to/3l2UvzJ
🔧 RAM 16 Gb : amzn.to/3bqXuif
🔧 SSD M2 haute performances : amzn.to/38lSQ31
💻 Boitier PC design : amzn.to/3sYDWYv
🔌 Alimentation 550W : amzn.to/3brj5r1
💨 Ventirad Be quiet: amzn.to/3kTdJrA
💨 Ventilateur boitier 120mm : amzn.to/3qsJs47 - Věda a technologie
Oh mec t'es un bg tu viens de me sauver la vie !
PTDR a 3min16, "on retourne, en string bien évidemment"
*Ah non c est "bien sur"
liste = [chr(x + 97) for x in range(26)] + [chr(x + 97) for x in range(26)]
Salut !
La vidéo est excellente mais pourrais-tu m'expliquer comment adapter les fonctions afin d'utiliser "ord" et "chr" ?
J'adore tes vidéos merci !
Juste une petite suggestion tu pourrais copier le code sur un pastbin et mettre le lien dans la description comme sa il nous suffit juste de copier le pastbin et modifier a sa sauce sinon vraiment merci tes vidéos mon manqué
Merci beaucoup, je viens de le mettre
@@arthurus8374 j'adore ton attention au commentaire merci encore
Merci tuto tres interessant gg +1 like et 1 abo
Merci à toi
salut arthuuss, est ce que tu saurais m'expliquer a quoi sert
elif liste[i]==lettre:
# return str(liste[i+clef])
# message_chiffré = str()
merci
Déboguer en ajoutant des points d'arrêt dans un IDE comme Pycharm ou VScode !
Seul moyen de comprendre pas à pas la valeur des variables !
bonjour comment on integre les maj et les accent ?
J’ai une question urgente pour mon cours , j’ai besoin de savoir comment faire pour si je rentre une mot en majuscule pour qu’il le prenne en compte et aussi pour les caractères spéciaux qu’il copie le même
salut !! Tu as eu ta réponse depuis ce temps mdr ?
Si oui , j'aimerai bien que tu me dises comment faire
Merci !
j'ai essayer le code mais ça retourne une liste
comment faire?
Salut, j'aimerai savoir pourquoi tu dédouble la liste en appelant la deuxieme liste "liste" aussi. Je pensais que ce n'était pas possible de faire deux liste avec le meme nom pourtant
j'ai sorti une version de ce code plus optimisé dans une vidéo récente et plus simple
Salut as -tu discord stp ?
quand je lance le programme cela ne fait rien je pense que c'est à cause de "lettre" elle n'est pas défini, je ne comprends pas
il faut bien mettre print
Déboguez en ajoutant des points d'arrêt dans Pycharm ou VScode !
Seul moyen de comprendre pas à pas la valeur des variables !
SI cela vous aide ;)
Le code source :
liste=['a','b','c','d','e','f','g','h','i','j','k','m','n','l','o','p','q','r','s','t','u','v','w','x','y','z']
for x in range(len(liste)): #Dédouble la liste
liste.append(liste[x])
message = input('Entrez votre message : ')
clef = int(input('Entrez votre clef ( entre 1 et 25 ) : ')) #on précise le type, sinon Python le considère comme un string
def chiffrage_lettre(lettre,liste,clef):
for i in range(len(liste)):
if lettre==' ': #au cas ou il y a un espace
return ' '
elif liste[i]==lettre:
return str(liste[i+clef])
return '?' #en cas de caractère inconnu
message_chiffré = str()
for lettre in message:
message_chiffré += chiffrage_lettre(lettre,liste,clef)
print(message_chiffré)
Tu pourrais faire une vidéo ou juste expliquer comment faire pour que le chiffrage se fasse en chiffre, genre( a =1, b=2...), si j'écris aabba ça me donne 11221
stp, merci pour ta vidéo
faire une nouvelle vidéo pour augmenter le chiffrage.. par exemple la clef change d'un mot à l'autre, 🤔🤔 je sais pas je donne des idées lol
je commence à coder et j'apprends vite, il me manque quelques notions mais t'es un bon prof
@@sukofu-heika Merci de ton retour, je viens de sortir une nouvelle vidéo sur le chiffrement par substitution, c'est presque la même idée que tu m'a proposé, tu pourra l'adapter facilement pour que cela code avec ton idée.
Meci sa ma bien eder
de rien !
salut super vidéo juste je comprends pas à quoi servent le "for x in range(len(liste))" et le "liste.append(liste[x])"
Merci le for x in range(len(liste)) parcourt le nombre d'élément de la liste, et liste.append(liste[x]) ajoute un élément à la liste "liste".
btw L'alphabet c'est lmn et non mnl
Salut,
Ca doit faire 6 mois j'ai écrit le même code que toi mais je l'ai modifié pour que chaque lettre ait une clé..
Mais j'arrive pas à faire l'inverse... Tu veux bien m'aider stp
CodeCryptList=[] # liste des clés
Def chiffrage_lettre(lettre, lettres):
For i in range(len(lettres)) :
If lettres[i] == lettre:
Code=random.randit(1,26)
CodeCryptList.append(code)
Return lettres[i+code]
Mais j'arrive pas à décrypter a partir des code de ma liste 😭😭😭😭 sauve moi stp
Quand j'essaye ça utilise que le premier code de la liste.
salut regarde ma vidéo sur le chiffrement par substitution, c'est ce que tu as fait
et a quoi sert le code str()
merci
Cela convertie la variable en type string
Arthurus Rebonjour, est ce que faire un code comme celui là est simple pour toi ? Si oui, pense tu que tu voudrais bien réaliser aussi un code permettant de chiffrer et déchiffrer un message mais cette fois-ci en substitution poly-alphabétique ? Si non ce n’est pas grave ne te fais pas de soucis :) merci quand même du service!
@@dgerbi0595 Merci de ton retour, j'ai fait une vidéo sur le chiffrement par substitution
MERCI ! mais tu pourrait mettre le code en description stp
liste=['a','b','c','d','e','f','g','h','i','j','k','m','n','l','o','p','q','r','s','t','u','v','w','x','y','z']
for x in range(len(liste)): #Dédouble la liste
liste.append(liste[x])
message = input('Entrez votre message : ')
clef = int(input('Entrez votre clef ( entre 1 et 25 ) : ')) #on précise le type, sinon Python le considère comme un string
def chiffrage_lettre(lettre,liste,clef):
for i in range(len(liste)):
if lettre==' ': #au cas ou il y a un espace
return ' '
elif liste[i]==lettre:
return str(liste[i+clef])
return '?' #en cas de caractère inconnu
message_chiffré = str()
for lettre in message:
message_chiffré += chiffrage_lettre(lettre,liste,clef)
print(message_chiffré)
@@Mevanouche Merci, mais depuis le temps je l'ai recopier...
@@adrixyn Ah pardon j'avais pas vu la date :/
@@Mevanouche Merci quand même (peut être pour d'autres gens qui veulent le code) c'est gentil de t'a par.
Mais il y a bien plus simple, juste en travaillant avec le numéro de chaque caractère ascii
oui
D'ou vient le paramètre "lettre" il est définie nul part
?
de null part, c'est une variable local crée en fonction de l'alphabet qui va prendre comme valeur : a, puis b ...
Comprend pas pouquoi on double la liste
car si la lettre a chiffré est un "z" et que notre clef est de 1, on obtient un "a" en accédant au rang (27, 26 en réalité car on compte le 0)
Tu va pas comprendre c un truque de Hacker comme moi
@@mizou1041 tgl
G pas aimé. Heureusement que c est du full hd au moins...
Vous avez raison, la vidéo est S.u.p.e.R.b.E
Vous parlez de son contenu ou de ce qui le contient?
salut arthuuss, est ce que tu saurais m'expliquer a quoi sert
elif liste[i]==lettre:
# return str(liste[i+clef])
# message_chiffré = str()
merci
Hey, je suis pas un pro mais je vais essayer d'expliquer : cette partie s'oppose à [if lettre == ' '], qui est la 'possibilité' qu'il y ai un espace dans le message chiffré, et si c'est le cas, alors le programme renvoie un espace. Donc, le 'elif' prend le cas ou le caractère est une lettre. le programme retourne alors en string (c'est à dire en ligne, sans renvoi à la ligne) la lettre du message codée à laquelle on rajoute la valeur de la clé, genre si c'est un décalage de 5 caractère et que la lettre codée c'est A, le programme renvoie A + 5emplacements = E
Et on informe ensuite que le message chiffré, c'est le 'string', la chaine de toute les lettres converties
Pop Corn merci beaucoup pour les explications