Crypidit le crypteur decrypteur de texte
Publié : mar. 28/sept./2010 18:10
alors voila je vous présente crypidit.
il crypte le texte avec la methode du Ché
il crypte avec 2 passe la premiere un decallage ascii.
la deusième est defini par la mot de passe que vous choisissez
.
code Linux :
crypidit.pb
et Lib.pb
voila le code 
il crypte le texte avec la methode du Ché

il crypte avec 2 passe la premiere un decallage ascii.
la deusième est defini par la mot de passe que vous choisissez

code Linux :
crypidit.pb
Code : Tout sélectionner
Enumeration
#Fenetre_0
#Fenetre_1
#Menu_0
#ElementMenu_01
#ElementMenu_02
#ElementMenu_03
#ElementMenu_04
#ElementMenu_05
#ElementMenu_06
#ElementMenu_07
#ElementMenu_08
#ElementMenu_09
#Editeur_0
#Fichier_0
#Bouton_0
#Texte_0
#Texte_1
#Texte_2
#Texte_3
#Creefichier_0
#Lien_0
#Clef_0
#BarreVertical_0
EndEnumeration
Define.w FenetreEvent, EventFenetre, EventGadget, EventMenu, EventType
Global Version$ = "1.0"
Global FichierOuvert.a = 0 ,FichierEnregistrer.a = 0 , FichieraOuvrir$, Fichieraenregistrer$
Global FichierCrypte.a = 1, FichierDecrypte.a = 0
Global clef$ = ""
IncludeFile "Lib.pb"
If OpenWindow(#Fenetre_0, 0, 0, 1000, 700, "Crypidit", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget)
;-Création du Menu
CreeMenu()
EditorGadget(#Editeur_0,2,2,996,676)
Repeat
If FichierEnregistrer = 1 Or FichierOuvert = 1
DisableMenuItem(#Menu_0,#ElementMenu_03,0)
ElseIf FichierEnregistrer = 0 And FichierOuvert = 0
DisableMenuItem(#Menu_0,#ElementMenu_03,1)
EndIf
If FichierCrypte = 1
DisableMenuItem(#Menu_0,#ElementMenu_06,0)
Else
DisableMenuItem(#Menu_0,#ElementMenu_06,1)
EndIf
If FichierDecrypte = 1
DisableMenuItem(#Menu_0,#ElementMenu_07,0)
Else
DisableMenuItem(#Menu_0,#ElementMenu_07,1)
EndIf
FenetreEvent = WaitWindowEvent()
Select FenetreEvent
Case #PB_Event_Menu
;- Menu
EventMenu = EventMenu()
Select EventMenu
Case #ElementMenu_01
;-Réinitialise l'editeur
Nouveau()
Case #ElementMenu_02
;- Ouvrir un fichier
Ouvrir()
Case #ElementMenu_03
;-Enregister
Enregistrer(FichierOuvert, FichierEnregistrer)
Case #ElementMenu_04
;-Enregistrer sous
EnregistrerSous()
Case #ElementMenu_05
;-Ferme le prog
CloseWindow(#Fenetre_0)
End
Case #ElementMenu_06
;-Cryptage du texte
Cryptage()
Case #ElementMenu_07
;-Decryptage du texte
Decryptage()
Case #ElementMenu_08
;-Options Cryptage
OptionsCryptage()
Case #ElementMenu_09
;-Aide
AProposDe()
EndSelect
Case #PB_Event_CloseWindow
EventFenetre = EventWindow()
Select EventFenetre
Case #Fenetre_0
CloseWindow(#Fenetre_0)
End
EndSelect
EndSelect
ForEver
EndIf
Code : Tout sélectionner
Procedure CreeMenu()
If CreateMenu(#Menu_0,WindowID(#Fenetre_0))
MenuTitle("Fichier")
MenuItem(#ElementMenu_01,"Nouveau")
MenuItem(#ElementMenu_02,"Ouvrir")
MenuBar()
MenuItem(#ElementMenu_03,"Enregistrer")
MenuItem(#ElementMenu_04,"Enregistrer sous")
MenuBar()
MenuItem(#ElementMenu_05,"Quitter")
MenuTitle("Cryptage")
MenuItem(#ElementMenu_06,"Crypter Texte")
MenuItem(#ElementMenu_07,"Décrypter Texte")
MenuItem(#ElementMenu_08,"Option")
MenuTitle("Aide")
MenuItem(#ElementMenu_09,"A propos de ...")
EndIf
EndProcedure
Procedure Nouveau()
ClearGadgetItems(#Editeur_0)
FichierEnregistrer = 0
FichierOuvert = 0
FichierCrypte = 1
FichierDecrypte = 0
EndProcedure
Procedure Ouvrir()
FichieraOuvrir$ = OpenFileRequester("Ouvrir",GetCurrentDirectory(),"Crypidit (*.Cryii)|*.Cryii;*.Cryii |Epidit (*.eii)|*.eii;*.eii |PureBasic (*.pb)|*.pb;*.doc |Texte (*.txt)|*.txt;*.doc |Tous Fichier (*.*)|*.*",0)
If FichieraOuvrir$
If ReadFile(#Fichier_0,FichieraOuvrir$)
ClearGadgetItems(#Editeur_0)
ligne = 0
Texte = 0
FichierOuvert = 1
Extension$ = GetExtensionPart(FichieraOuvrir$)
If Extension$ = "Cryii"
FichierCrypte = 0
FichierDecrypte = 1
EndIf
While Eof(#Fichier_0) = 0
text$ = ReadString(#Fichier_0,#PB_UTF8)
AddGadgetItem(#Editeur_0,ligne,text$)
ligne = ligne + 1
Wend
CloseFile(#Fichier_0)
EndIf
EndIf
EndProcedure
Procedure Enregistrer(FichierOuvert.a, FichierEnregistrer.a)
If FichierOuvert = 1
ligne = 0
If OpenFile(#Fichier_0,FichieraOuvrir$)
While ligne < CountGadgetItems(#Editeur_0)
WriteStringN(#Fichier_0,GetGadgetItemText(#Editeur_0,ligne), #PB_UTF8)
ligne = ligne + 1
Wend
CloseFile(#Fichier_0)
EndIf
ElseIf FichierEnregistrer = 1
ligne = 0
If OpenFile(#Fichier_0,FichieraEnregistrer$)
While ligne < CountGadgetItems(#Editeur_0)
WriteStringN(#Fichier_0,GetGadgetItemText(#Editeur_0,ligne), #PB_UTF8)
ligne = ligne + 1
Wend
CloseFile(#Fichier_0)
EndIf
EndIf
EndProcedure
Procedure EnregistrerSous()
If FichierCrypte = 1
FichieraEnregistrer$ = SaveFileRequester("Enregistrer sous",GetCurrentDirectory(),"Epidit (*.eii)|*.eii;*.eii |Texte (*.txt)|*.txt;*.doc",0)
If FichieraEnregistrer$
ligne = 0
Index = SelectedFilePattern()
FichierEnregistrer = 1
If Index = 0
If CreateFile(#Creefichier_0,FichieraEnregistrer$+".eii")
While ligne < CountGadgetItems(#Editeur_0)
WriteStringN(#Creefichier_0,GetGadgetItemText(#Editeur_0,ligne), #PB_UTF8)
ligne = ligne + 1
Wend
CloseFile(#Creefichier_0)
EndIf
ElseIf index = 1
If CreateFile(#Creefichier_0,FichieraEnregistrer$+".txt")
While ligne < CountGadgetItems(#Editeur_0)
WriteStringN(#Creefichier_0,GetGadgetItemText(#Editeur_0,ligne), #PB_UTF8)
ligne = ligne + 1
Wend
CloseFile(#Creefichier_0)
EndIf
EndIf
EndIf
ElseIf FichierCrypte = 0
FichieraEnregistrer$ = SaveFileRequester("Enregistrer sous",GetCurrentDirectory(),"Crypidit (*.Cryii)|*.Cryii;*.Cryii",0)
If FichieraEnregistrer$
ligne = 0
Index = SelectedFilePattern()
FichierEnregistrer = 1
If Index = 0
If CreateFile(#Creefichier_0,FichieraEnregistrer$+".Cryii")
While ligne < CountGadgetItems(#Editeur_0)
WriteStringN(#Creefichier_0,GetGadgetItemText(#Editeur_0,ligne), #PB_UTF8)
ligne = ligne + 1
Wend
CloseFile(#Creefichier_0)
EndIf
EndIf
EndIf
EndIf
EndProcedure
Declare OptionsCryptage()
Procedure Cryptage(text$ = "")
If text$ = ""
ligne = 0
crypte = 0
While crypte = 0
If CountGadgetItems(#Editeur_0) <> 0
If Clef$ <> ""
While ligne < CountGadgetItems(#Editeur_0)
crypte = 1
textcrypte$ = ""
text$ = GetGadgetItemText(#Editeur_0,ligne)
If text$ <> ""
FichierCrypte = 1
FichierDecrypte = 1
d = 1
While d <= Len(text$)
text$ = InsertString(text$, "$", d)
d = d + 2
Wend
dollar$ = "$"
ascii$ = "300"
ascii = Val(ascii$)
For Aski = 32 To 255
lettre$ = Chr(Aski)
text$ = ReplaceString(text$,dollar$+lettre$,ascii$)
ascii = Val(ascii$)
ascii = ascii + 1
ascii$ = Str(ascii)
Next
text$ = RemoveString(text$, "$")
a = 1
longclef = Len(Clef$)
While a <= Len(text$)
text$ = InsertString(text$, " ", a)
a = a + (longclef+1)
Wend
text$ = LTrim(text$)
For b = 1 To CountString(text$," ")+1
bloc$ = StringField(text$, b, " ")
longbloc = Len(bloc$)
c = 1
While c < longbloc+1
Mbloc$ = Mid(bloc$,c,1)
Mclef$ = Mid(clef$,c,1)
Mtextcrypte = Val(Mbloc$) + Val(Mclef$)
Mtextcrypte$ = Right(Str(Mtextcrypte),1)
textcrypte$ = textcrypte$ + Mtextcrypte$
c = c + 1
Wend
Next
d = 1
While d <= Len(textcrypte$)
textcrypte$ = InsertString(textcrypte$, " ", d)
d = d + 6
Wend
textcrypte$ = LTrim(textcrypte$)
SetGadgetItemText(#Editeur_0, ligne, textcrypte$)
text$ = ""
EndIf
ligne = ligne + 1
Wend
Else
OptionsCryptage()
EndIf
Else
crypte = 1
clef$ = ""
EndIf
Wend
EndIf
EndProcedure
Procedure Decryptage(textcrypte$ = "")
ligne = 0
FichierDecrypte = 1
FichierCrypte = 1
While ligne < CountGadgetItems(#Editeur_0)
a = 1
text$ = ""
If textcrypte$ = ""
textcrypte$ = GetGadgetItemText(#Editeur_0,ligne)
EndIf
If Clef$ = ""
OptionsCryptage()
EndIf
If FindString(textcrypte$,Chr(32-255),1) = 0
textcrypte$ = RemoveString(textcrypte$," ")
longclef = Len(clef$)
While a <= Len(textcrypte$)
textcrypte$ = InsertString(textcrypte$, " ", a)
a = a + (longclef+1)
Wend
textcrypte$ = LTrim(textcrypte$)
For b = 1 To CountString(textcrypte$," ")+1
bloc$ = StringField(textcrypte$, b, " ")
longbloc = Len(bloc$)
c = 1
While c < longbloc+1
Mbloc$ = Mid(bloc$,c,1)
Mclef$ = Mid(clef$,c,1)
Mtextcrypte = Val(Mbloc$) - Val(Mclef$)
If Mtextcrypte = -1
Mtextcrypte = 9
ElseIf Mtextcrypte = -2
Mtextcrypte = 8
ElseIf Mtextcrypte = -3
Mtextcrypte = 7
ElseIf Mtextcrypte = -4
Mtextcrypte = 6
ElseIf Mtextcrypte = -5
Mtextcrypte = 5
ElseIf Mtextcrypte = -6
Mtextcrypte = 4
ElseIf Mtextcrypte = -7
Mtextcrypte = 3
ElseIf Mtextcrypte = -8
Mtextcrypte = 2
ElseIf Mtextcrypte = -9
Mtextcrypte = 1
EndIf
Mtext$ = Right(Str(Mtextcrypte),1)
text$ = text$ + Mtext$
c = c + 1
Wend
Next
d = 1
While d <= Len(text$)
text$ = InsertString(text$, "$", d)
d = d + 4
Wend
text$ = LTrim(text$)
dollar$ = "$"
ascii$ = "100"
ascii = Val(ascii$)
dollar$ = "$"
ascii$ = "300"
ascii = Val(ascii$)
For Aski = 32 To 255
lettre$ = Chr(Aski)
text$ = ReplaceString(text$,dollar$+ascii$,lettre$)
ascii = Val(ascii$)
ascii = ascii + 1
ascii$ = Str(ascii)
Next
SetGadgetItemText(#Editeur_0, ligne, text$)
textcrypte$ = ""
ligne = ligne + 1
EndIf
Wend
EndProcedure
Procedure OptionsCryptage()
If OpenWindow(#Fenetre_1,0,0,300,100,"Option Cryptage", #PB_Window_WindowCentered | #PB_Window_SystemMenu,WindowID(#Fenetre_0))
TextGadget(#Texte_0,0,5,300,15,"Veuillez saissire votre Mot de passe :",#PB_Text_Center)
StringGadget(#Texte_1,50,30,200,20,MDP$,#PB_String_Password)
ButtonGadget(#Bouton_0,130,65,30,20,"Ok")
;SetActiveGadget(#Texte_1)
Repeat
FenetreEvent = WaitWindowEvent()
Select FenetreEvent
Case #PB_Event_Gadget
EventGadget = EventGadget()
Select EventGadget
Case #Bouton_0
MDP$ = GetGadgetText(#Texte_1)
d = 1
While d <= Len(MDP$)
MDP$ = InsertString(MDP$, "$", d)
d = d + 2
Wend
dollar$ = "$"
ascii$ = "300"
ascii = Val(ascii$)
For Aski = 32 To 255
lettre$ = Chr(Aski)
MDP$ = ReplaceString(MDP$,dollar$+lettre$,ascii$)
Clef$ = MDP$
ascii = Val(ascii$)
ascii = ascii + 1
ascii$ = Str(ascii)
Next
CloseWindow(#Fenetre_1)
Break
EndSelect
Case #PB_Event_CloseWindow
EventFenetre = EventWindow()
Select EventFenetre
Case #Fenetre_1
CloseWindow(#Fenetre_1)
Break
EndSelect
EndSelect
ForEver
EndIf
EndProcedure
Procedure AProposDe()
If OpenWindow(#Fenetre_1,0,0,300,160,"A propos de ...", #PB_Window_WindowCentered | #PB_Window_SystemMenu,WindowID(#Fenetre_0))
TextGadget(#Texte_0,0,5,300,15,"Fait par Akra-Laya.",#PB_Text_Center)
TextGadget(#Texte_1,0,25,300,115,"Pour tous problèmes ou toute"+#LF$+"suggestions veuillez me contacter par"+#LF$+"e-mail : akra-laya@orange.fr"+#LF$+"ou sur le forum de la Teamanimal :"+#LF$+"http://teamanimal.free-h.net/",#PB_Text_Center)
TextGadget(#Texte_2,0,140,300,15,"Version "+Version$,#PB_Text_Center)
Repeat
FenetreEvent = WaitWindowEvent()
Select FenetreEvent
Case #PB_Event_CloseWindow
EventFenetre = EventWindow()
Select EventFenetre
Case #Fenetre_1
CloseWindow(#Fenetre_1)
Break
EndSelect
EndSelect
ForEver
EndIf
EndProcedure
