Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRYPTEUR EN PYTHON


Information sur la source

Catégorie :Sécurité & cryptage Classé sous : python, crypteur, securite Niveau : Initié Date de création : 06/10/2008 Date de mise à jour : 10/10/2008 13:58:27 Vu : 1 795

Note :
1,33 / 10 - par 3 personnes
1,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Ce code source est le premiers que j'écris sur ce site,bon passons au vif du sujet:

La premierre partie du code est consacré au cryptage

malheuresement il ne traite que des données "chaine" et ne gere pas les accents.
 

Source

  • import string
  • def crypteur(texte_de_base):
  • X=texte_de_base
  • X=str(X)
  • #minuscule
  • X=string.replace(X,"a","[m01]")
  • X=string.replace(X,"b","[m02]")
  • X=string.replace(X,"c","[m03]")
  • X=string.replace(X,"d","[m04]")
  • X=string.replace(X,"e","[m05]")
  • X=string.replace(X,"f","[m06]")
  • X=string.replace(X,"g","[m07]")
  • X=string.replace(X,"h","[m08]")
  • X=string.replace(X,"i","[m09]")
  • X=string.replace(X,"j","[m10]")
  • X=string.replace(X,"k","[m11]")
  • X=string.replace(X,"l","[m12]")
  • X=string.replace(X,"m","[m13]")
  • X=string.replace(X,"n","[m12]")
  • X=string.replace(X,"o","[m13]")
  • X=string.replace(X,"p","[m14]")
  • X=string.replace(X,"q","[m15]")
  • X=string.replace(X,"r","[m16]")
  • X=string.replace(X,"s","[m17]")
  • X=string.replace(X,"t","[m18]")
  • X=string.replace(X,"u","[m19]")
  • X=string.replace(X,"v","[m20]")
  • X=string.replace(X,"w","[m21]")
  • X=string.replace(X,"x","[m22]")
  • X=string.replace(X,"y","[m23]")
  • X=string.replace(X,"z","[m24]")
  • #majuscule
  • X=string.replace(X,"A","[M01]")
  • X=string.replace(X,"B","[M02]")
  • X=string.replace(X,"C","[M03]")
  • X=string.replace(X,"D","[M04]")
  • X=string.replace(X,"E","[M05]")
  • X=string.replace(X,"F","[M06]")
  • X=string.replace(X,"G","[M07]")
  • X=string.replace(X,"H","[M08]")
  • X=string.replace(X,"I","[M09]")
  • X=string.replace(X,"j","[M10]")
  • X=string.replace(X,"K","[M11]")
  • X=string.replace(X,"L","[M12]")
  • X=string.replace(X,"M","[M13]")
  • X=string.replace(X,"N","[M12]")
  • X=string.replace(X,"O","[M13]")
  • X=string.replace(X,"P","[M14]")
  • X=string.replace(X,"Q","[M15]")
  • X=string.replace(X,"R","[M16]")
  • X=string.replace(X,"S","[M17]")
  • X=string.replace(X,"T","[M18]")
  • X=string.replace(X,"U","[M19]")
  • X=string.replace(X,"V","[M20]")
  • X=string.replace(X,"W","[M21]")
  • X=string.replace(X,"X","[M22]")
  • X=string.replace(X,"Y","[M23]")
  • X=string.replace(X,"Z","[M24]")
  • #les nombres
  • X=string.replace(X,"1","[CC1]")
  • X=string.replace(X,"2","[CC2]")
  • X=string.replace(X,"3","[CC3]")
  • X=string.replace(X,"4","[CC4]")
  • X=string.replace(X,"5","[CC5]")
  • X=string.replace(X,"6","[CC6]")
  • X=string.replace(X,"7","[CC7]")
  • X=string.replace(X,"8","[CC8]")
  • X=string.replace(X,"9","[CC9]")
  • X=string.replace(X,"0","[CC0]")
  • #les aures caracteres
  • X=string.replace(X," ","[AC01]")
  • X=string.replace(X,"\","[AC02]")
  • X=string.replace(X,"/","[AC03]")
  • X=string.replace(X,"*","[AC04]")
  • X=string.replace(X,"-","[AC05]")
  • X=string.replace(X,"+","[AC06]")
  • X=string.replace(X,"-","[AC07]")
  • X=string.replace(X,"_","[AC08]")
  • X=string.replace(X,"(","[AC09]")
  • X=string.replace(X,")","[AC10]")
  • X=string.replace(X,"[","[AC11]")
  • X=string.replace(X,"]","[AC12]")
  • X=string.replace(X,"{","[AC13]")
  • X=string.replace(X,"}","[AC14]")
  • X=string.replace(X,"'","[AC16]")
  • X=string.replace(X,",","[AC17]")
  • X=string.replace(X,";","[AC18]")
  • X=string.replace(X,"?","[AC19]")
  • X=string.replace(X,":","[AC20]")
  • X=string.replace(X,"!","[AC21]")
  • X=string.replace(X,"<","[AC22]")
  • X=string.replace(X,">","[AC23]")
  • X=string.replace(X,"°","[AC24]")
  • X=string.replace(X,"@","[AC25]")
  • #pour plus de sécurité
  • X=string.replace(X,"C","[M03]")
  • X=string.replace(X,"m","[m13]")
  • X=string.replace(X,"M","[M13]")
  • X=string.replace(X,"""[""","[AC11]")
  • X=string.replace(X,"""]""","[AC12]")
import string

def crypteur(texte_de_base):
    X=texte_de_base
    X=str(X)
    #minuscule
    X=string.replace(X,"a","[m01]")
    X=string.replace(X,"b","[m02]")
    X=string.replace(X,"c","[m03]")
    X=string.replace(X,"d","[m04]")
    X=string.replace(X,"e","[m05]")
    X=string.replace(X,"f","[m06]")
    X=string.replace(X,"g","[m07]")
    X=string.replace(X,"h","[m08]")
    X=string.replace(X,"i","[m09]")
    X=string.replace(X,"j","[m10]")
    X=string.replace(X,"k","[m11]")
    X=string.replace(X,"l","[m12]")
    X=string.replace(X,"m","[m13]")
    X=string.replace(X,"n","[m12]")
    X=string.replace(X,"o","[m13]")
    X=string.replace(X,"p","[m14]")
    X=string.replace(X,"q","[m15]")
    X=string.replace(X,"r","[m16]")
    X=string.replace(X,"s","[m17]")
    X=string.replace(X,"t","[m18]")
    X=string.replace(X,"u","[m19]")
    X=string.replace(X,"v","[m20]")
    X=string.replace(X,"w","[m21]")
    X=string.replace(X,"x","[m22]")
    X=string.replace(X,"y","[m23]")
    X=string.replace(X,"z","[m24]")
    #majuscule
    X=string.replace(X,"A","[M01]")
    X=string.replace(X,"B","[M02]")
    X=string.replace(X,"C","[M03]")
    X=string.replace(X,"D","[M04]")
    X=string.replace(X,"E","[M05]")
    X=string.replace(X,"F","[M06]")
    X=string.replace(X,"G","[M07]")
    X=string.replace(X,"H","[M08]")
    X=string.replace(X,"I","[M09]")
    X=string.replace(X,"j","[M10]")
    X=string.replace(X,"K","[M11]")
    X=string.replace(X,"L","[M12]")
    X=string.replace(X,"M","[M13]")
    X=string.replace(X,"N","[M12]")
    X=string.replace(X,"O","[M13]")
    X=string.replace(X,"P","[M14]")
    X=string.replace(X,"Q","[M15]")
    X=string.replace(X,"R","[M16]")
    X=string.replace(X,"S","[M17]")
    X=string.replace(X,"T","[M18]")
    X=string.replace(X,"U","[M19]")
    X=string.replace(X,"V","[M20]")
    X=string.replace(X,"W","[M21]")
    X=string.replace(X,"X","[M22]")
    X=string.replace(X,"Y","[M23]")
    X=string.replace(X,"Z","[M24]")
    #les nombres
    X=string.replace(X,"1","[CC1]")
    X=string.replace(X,"2","[CC2]")
    X=string.replace(X,"3","[CC3]")
    X=string.replace(X,"4","[CC4]")
    X=string.replace(X,"5","[CC5]")
    X=string.replace(X,"6","[CC6]")
    X=string.replace(X,"7","[CC7]")
    X=string.replace(X,"8","[CC8]")
    X=string.replace(X,"9","[CC9]")
    X=string.replace(X,"0","[CC0]")
    #les aures caracteres
    X=string.replace(X," ","[AC01]")
    X=string.replace(X,"\","[AC02]")
    X=string.replace(X,"/","[AC03]")
    X=string.replace(X,"*","[AC04]")
    X=string.replace(X,"-","[AC05]")
    X=string.replace(X,"+","[AC06]")
    X=string.replace(X,"-","[AC07]")
    X=string.replace(X,"_","[AC08]")
    X=string.replace(X,"(","[AC09]")
    X=string.replace(X,")","[AC10]")
    X=string.replace(X,"[","[AC11]")
    X=string.replace(X,"]","[AC12]")
    X=string.replace(X,"{","[AC13]")
    X=string.replace(X,"}","[AC14]")
    X=string.replace(X,"'","[AC16]")
    X=string.replace(X,",","[AC17]")
    X=string.replace(X,";","[AC18]")
    X=string.replace(X,"?","[AC19]")
    X=string.replace(X,":","[AC20]")
    X=string.replace(X,"!","[AC21]")
    X=string.replace(X,"<","[AC22]")
    X=string.replace(X,">","[AC23]")
    X=string.replace(X,"°","[AC24]")
    X=string.replace(X,"@","[AC25]")
    #pour plus de sécurité
    X=string.replace(X,"C","[M03]")
    X=string.replace(X,"m","[m13]")
    X=string.replace(X,"M","[M13]")
    X=string.replace(X,"""[""","[AC11]")
    X=string.replace(X,"""]""","[AC12]")   

Conclusion

si vous trouvez des idées pour améliorer ce programme dites le moi.
 

Historique

10 octobre 2008 13:50:25 :
comme je l' avais pas finit il faut bien que je le continu
10 octobre 2008 13:53:16 :
j'ai remarqué une réduction du code possible
10 octobre 2008 13:58:27 :
j'ai remarque une réduction du code possible

Commentaires et avis

signaler à un administrateur
Commentaire de aera group le 11/10/2008 17:06:03

Le rendement (industrie) : Quantité produite, par unité de temps, par une main-d'½uvre ou des équipements.
Je ne sais pas combien de temps tu as mis pour écrire ce code, mais il est sûr que le rendement est catastrophique.
C'est une bonne idée de transformer les lettres en un code associer, mais tu n'utilise pas la bonne technique. Il existe déjà un code : l'ASCII ou l'Unicode. Créer un nouveau code n'est pas une mauvaise chose, au contraire,mais tu n'utilise aucune boucle, le travail a faire est monstrueux, voir impossible à faire !

Je ne note pas ce morceau de code incomplet et bancale, utilise des boucles ou des méthodes plus classiques, mais fait un bon travail stp. N'hésite pas a demander de l'aide si tu en a besoin mais ne pose pas des codes bâclé ...

signaler à un administrateur
Commentaire de wkenw le 13/10/2008 11:46:55

La ligne 73 n'est pas correcte. Par "\" tu voulais écrire "\\". Le caractère '\' permet d'annoncer un caractère spécial. Par ex, le caractère '\n' signifie "sauter une ligne", caractère que tu n'a pas codé, d'ailleurs.
Tu n'aurais pas eu ce problème en utilisant des boucles, comme aera group te l'a suggéré.
Pour ma part, je ne comprends pas l'intérêt de la section "pour plus de sécurité". Peux-tu préciser ?
Quant à la sécurité, elle est bien maigre ! Ce type de cryptage est très facile à déchiffrer. (D'autant plus qu'ici, tout est dans l'ordre !)

signaler à un administrateur
Commentaire de coucou747 le 21/10/2008 17:02:46 1/10

euh... c'est pas du cryptage ca... t'as pas de clef...

et c'est une simple substitution, t'as aucune securite la dedans.

signaler à un administrateur
Commentaire de xeolin le 25/11/2008 17:41:02 1/10

Ewwww....


Bon... Tu parles de crypter ?

Un décalage en 13 serait aussi efficace...

Avec des attaques type dico,

Ton algo est inutile avec un texte de plus de 20 mots.

Tu aurai pus utiliser un dictionnaire, ce qui permaiterai d'eviter de passer a travers toute ces fonctions inutiliement...

Xeolin

signaler à un administrateur
Commentaire de Lutcho74 le 18/01/2009 21:40:28 2/10

Salut,
J'ai 14 ans et je pense que je serai capable de faire mieux donc c'est que tu doit vraiment débuter...
Tu aurais du utilisé du code ASCII et de mettre un boucle pour dire en bref que si "A" et le "message" à crypter alors afficher "65" et sa pour tout les caractères, ensuite tu peu y faire un petit décalage ou y ajouter une clé et faire un petit mélange...
En note je te donne 2 car sa a dut te prendre du temps mais c'est que de la substitution comme la dit coucou747.
S'y tu débute réellement en python je te conseille un langage plus simple comme le BASIC et plus particulièrement Panoramic comme éditeur qui utilise le BASIC comme langage général mais qui encore plus simplifié sa aide pour avoir certaine base en programmation.

signaler à un administrateur
Commentaire de xeolin le 20/01/2009 21:11:55

Lutcho74,

woow du calme, ne lui en demande pas trop, vu comme il ecrit son code il vaut mieu qu'il commence tout doucement avec :

et
ou
oui
non
et-ou
ou-non
ou-exclusif.

Xeolin

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

tutoriaux python [ par slachz ] voilà un tuto FR tres remplie en python (il existe en bouquin mais est telechargeable gratuitement) :http://www.ulg.ac.be/cifen/inforef/swi/python.htm installation python [ par champagnef ] Bonjour,je suis nouveau sur python. J'apprends (en amateur intéressé) avec le cours de G. Swinnen et autres tuto.Je suis sur Mac Os X.3.5 et je pense Projet Python: Lecteur de flux RSS. [ par Marvin ] Amis codeurs, bien le bonjour (ou plutot bonsoir car il est 00:33 ( GTM + 1h ) ) ,J'ai en tête depuis déja quelques jours, de créer un lecteur de flux Paramétrage de python [ par deguelatore ] salut à tous. Je voulai vous demandez si on peut se débarrasser du mode interactif de python?? Vous savez les 3 flèches (&gt;&gt;&gt;).C'est juste pas Tk vs wx [ par bonac ] Bonjour,Je doit faire une assez grosse application en python, le problème est que je ne connaissait pas python (du moins de nom) le mois dernier. Cett Help : Python/DB/CGI [ par Chill_Sik ] Bonjour à tous, voila qqjours que je me casse les dents sur un petit problème alors je me décide a appeler "au secour" car on ne sait jamais que certa WebCam [ par DoudouBidou ] Après plusieurs recherche je n'ai pas trouvé de script python capable de diffusé une webcam sur un réseaudonc je lance le débat, est-il possible de ré dll avec python? [ par LokR ] Salut tout le monde!je me pose une kestion, je pense pas que ce soit possible mais d'un autre coté je pensais pas kon puisse faire d' *.exe avec pytho aide pour xchat svp [ par Jamu ] Salut a tous Je debute sur xchat et le python ben je connais pas,j'ai chercher des tuto sur google mais j'ai trouvé que des tuto de python en général les variables vu par Plone... [ par onlybjork ] Bonjour.Je suis designer, et dans le cadre d'une intégration de charte sous plone, j'ai besoin d'incrémenter tout simplement une variable. Seulement,


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.