Pages :: 1
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
_███_
( ͡© ͜ʖ ͡°) Le compte juleserror appartient désormais à mon frère ᶘ ᵒᴥᵒᶅ
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"
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