Forum francais Minecraft. Serveur de jeu FR-Minecraft et astuces pour Minecraft.

  • Accueil
  • » Informatique
  • » [Script-Python] Le code césar: Cryptage - Décryptage-Niveau Débutant

Pages :: 1

#1 02/11/2012 07:37:04

VIP
Lieu : Nice

Messages : 109

[Script-Python] Le code césar: Cryptage - Décryptage-Niveau Débutant

Bonsoir, voici un petit sujet sympa pour crypter vos phrases :)
Le principe est simple, l'on décale les caractères d'une clé k et l'on décrypte en reculant d'une clé k.

Voici le code en Python 3.3:

import random                                      #Importation du module random 

def code():                                            #définition de la fonction principale qui va coder
    k =  random.randint(1,25)                  # je défini k ayant pour valeur et non égale à ..., random.randint signifiant du module random j'importe randint
    print("Texte à crypter")                      # print sert à afficher équivalent de printf en C voir scanf dans certain langage.
    msg = input()                                    #la fonction input sert à capturer ce qui a été rentré par user, et ce sera la valeur attribué à msg (message)
    print("cryptage en cours ....")
    print()
    print("Vous obtenez le cryptage suivant ---->",cryptage(msg,k),"pour une clé de",k) #ici je demande d'afficher le cryptage du msg par une clé k random
    print()

def decode():                                         # à l'inverse cette fonction décode ce qui est codé à condition que ce soit du slide ou rot13.
    k =  1                                                # On initialise k = 1
    print("Texte à décrypter")
    msg = input()
    print("decryptage en cours ....")
    while k <= 26:                                  # tant que k est inférieur ou égale à 26, équivalent de then/for/while if/
        print("Vous obtenez le decryptage suivant ---->",crackage(msg,k),"pour une clé de",k )
        print()
        k += 1
 ## Ici l'on utilise une méthode de brute force, par incrémentation de k = k + 1 soit k = son ancienne valeur + 1 

def slide(c,k):                                     # Alors là c'est du lourd par contre la fonction slide et deslide qui va suivre.Prend un argument c et k => clé 

    if c.islower():                                 # if = Si , c.islower signifier si caractère traité exemple le premier est une minuscule "lower"
        return chr(((ord(c) - 97 + int(k)) %26 ) + 97)  # Je vais pas vous expliquer ça se traduit par la numérotation ascii et du calcul modulaire % modulo 26

    elif c.isupper():                              # contraire de islower au contraire si le c est une majuscule.
        return chr(((ord(c) - 65 + int(k)) %26 ) + 65)

    elif ord(c) > ord("0") and ord(c) < ord("9"): 
#ici si c est compris entre la numérotation ascii ord(x) va donner le nombre à quoi correspond "x" on aurait pu dire
# Elif c.isdigit si c est un nombre.
        return chr(((ord(c) - 48 + int(k)) %10 ) + 48)
    else:
        return c

def deslide(c,k):                                                 # Contraire de slide

    if c.islower():
        return chr(((ord(c) - 97 - int(k)) %26 ) + 97)

    elif c.isupper():
        return chr(((ord(c) - 65 - int(k)) %26 ) + 65)

    elif ord(c) > ord("0") and ord(c) < ord("9"):
        return chr(((ord(c) - 48 - int(k)) %10 ) + 48)

    else:
        return c
    
def cryptage(msg,k):                       # Voici la fonction appelé plus haut, qui va utilisé la fonction slide mais sur toute une phrase ^^
    acc= ""
    for c in msg:
        acc += slide(c,k)
    return acc

def crackage(msg,k):                       #Meme principe que cryptage !!! En programmation l'on découpe les problèmes en sous problème 
    acc=""
    for c in msg:
        acc += deslide(c,k)
    return acc

Voilà prochainement je mettrai un petit script ou code html/CSS/JS :p

Hors ligne


mca.png

#2 02/11/2012 20:57:43

Banni(e)

Messages : 522
Site Web

Re : [Script-Python] Le code césar: Cryptage - Décryptage-Niveau Débutant

Tu crois que ca va servir à combien de personne sur ce forum ? Surtout que bon, il n'y a rien de nouveau on trouve le script sur internet en 3 clics...

Hors ligne


_███_
( ͡© ͜ʖ ͡°)    Le compte juleserror appartient désormais à mon frère    ᶘ ᵒᴥᵒᶅ

#3 02/11/2012 22:50:17

VIP
Lieu : Nice

Messages : 109

Re : [Script-Python] Le code césar: Cryptage - Décryptage-Niveau Débutant

Celui - là de script je pense pas qu'en trois click tu le trouves en python comme ça ^^'
Surtout que je l'ai moi même codé ;)

En quoi ça peut servir c'est une introduction à la cryptologie, ça peut être utile,
Je vais pas faire un programme de 300 lignes comment cracker une clé WEP ! ça n'a aucun intérêt c'est un programme assez simple
compacter qui évolue dans un algorithme d'un coût de "n log n"

Hors ligne


mca.png

#4 02/11/2012 23:33:57

Membre
Lieu : Purple Grooos!

Messages : 132

Re : [Script-Python] Le code césar: Cryptage - Décryptage-Niveau Débutant

Mon frère va peut-être te plaire lol :P

Hors ligne


Pseudo InGame : king_magma
OverWerk !!!
Du pure son !!!
Ça déchire !!!

Pages :: 1

  • Accueil
  • » Informatique
  • » [Script-Python] Le code césar: Cryptage - Décryptage-Niveau Débutant

Pied de page des forums