Besoin de conseils pour fignoler mon crypteur

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Besoin de conseils pour fignoler mon crypteur

Message par SPH »

Lut tous !!

J'ai fais un crypteur/decrypteur et je cherche a faire la carrosserie de ma procedure. Il crypte/decrypte selon la valeur de "CRYPT".
J'ai regardé la doc pour faire du canvas mais j'ai pas compris :

Code : Tout sélectionner

UseMD5Fingerprint()
;Beep_(1500,150)
; --- reserve de nombres aleatoires ---
Dim r.q(1000)
For i=0 To 1000
  cmb=Random(40)
  For u=0 To cmb
    r(i)+ Random(65536*32768-1)
   ; Debug r(i)    
  Next
  ;Debug("---")
Next
new=0
;Beep_(1500,150)

Beep_(500,150)


debut:

b.b=0
mdp$="SPH2016"


; c'est ici que se decide si on crypte ou on decrypte :
; 0 = crypter
; 1 = decrypter
crypt=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


If crypt=0
  a$="crypter"
Else
  a$="décrypter"
EndIf


  Fichier$ = OpenFileRequester("Choisissez un fichier à "+a$, "*.*", "*.*", 0)
  ;Fichier$ = "c:\HexaScrabble2\HexaScrabble.exe"
  If Fichier$
    ReadFile(0, Fichier$)
    ;b.b=ReadByte(0)
    ;Debug b
  Fichier2$ = OpenFileRequester("Choisissez un fichier à sauvegarder", "*.*", "*.*", 0)
  If Fichier2$ And Fichier$<>Fichier2$
    CreateFile(1, Fichier2$)
    
    
    

;-------------stockage des bits--------------

len=Len(mdp$)
Dim bit.b(len*8)
For i=1 To len
  a$=Mid(mdp$,i,1)
  For u=0 To 7
   bit((i-1)*8+u+1) = (Asc(a$)>>u)%2
   ;Debug bit((i-1)*8+u+1)
   Next
Next


;---calcul de total---
x.q=1
total.q=0
For i=1 To Len(mdp$)
mid$=Mid(mdp$,i,1)
total+Asc(mid$)*x
If x>=65536*65536*65536
x=1
Else
x*2
EndIf
Next
Debug total


;------------------calcul de md5$ et de md5--------------------
md5$= StringFingerprint(mdp$, #PB_Cipher_MD5)
Debug md5$
md5=0
For i=1 To Len(md5$)
mid$=Mid(md5$,i,1)
md5+Asc(mid$)
Next
Debug md5


;-------------------creation de dim octet et du premier octet-------------------
Dim octet.b(600)

If crypt=0
For i=0 To 600
  octet(i)=Random(255)+Random(255)+Random(256)+Random(254)+Random(250)+Random(260)  
Next
Else
  For i=0 To 9
  octet(i)=ReadByte(0)
Next
EndIf


bit4.b=total+md5+octet(0)+octet(1)+octet(2)+octet(3)+octet(4)+octet(5)+octet(6)+octet(7)+octet(8)+octet(9)
Debug bit4
bit4w.w=10+bit4&%00001111
Debug bit4w

octet(bit4w)=bit4


;--------------------
mdp_2=0
md5_2=0
tot_2=0
tot2_2=0
tot3_2=0

For  u=1 To 32
  
md5$+ StringFingerprint(mdp$+Str(bit4), #PB_Cipher_MD5)

Debug md5$
md5=0
For i=1 To Len(md5$)
mid$=Mid(md5$,i,1)
md5+Asc(mid$)
Next
Debug md5

bit4.b=total+md5
Debug bit4
bit4w.w+1+bit4&%00001111
Debug bit4w

If u<=10
  mdp_2+bit4w
EndIf
If u<=21
  md5_2+bit4w
EndIf
If u<=32
  tot_2+bit4w
EndIf
If u<=24
  tot2_2+bit4w
EndIf
If u>=22
  tot3_2+bit4w
EndIf

octet(bit4w)=bit4

Next


;--------------------
If crypt=0
Debug "===="
For i=0 To bit4w
  b.b=octet(i) 
  ;Debug b
  WriteByte(1,b)
Next
Else
  If Lof(0)>=bit4w+1
    FileSeek(0, bit4w+1) 
  Else
    MessageRequester("Information","Fichier trop petit !")
    Goto fin
  EndIf
EndIf


TempsDepart = ElapsedMilliseconds()


;mdp$, total, md5$, octet(), bit()

RandomSeed(total)
len*8
len2=1

While Eof(0) = 0
  b.b=ReadByte(0)
  
  b=b!Random(255)
  b=b!Random(255)
  b=b!Random(255)
  b=b!Random(255)
  b=b!Random(255)
  b=b!Random(255)
  b=b!Random(255)
  
  If bit(len2)=0
  b=b!Random(255)
  b=b!Random(255)
  b=b!Random(255)
  b=b!Random(255)
  EndIf
  
  
  While mdp_2>Len(mdp$)
    mdp_2-Len(mdp$)
  Wend
  a$=Mid(mdp$,mdp_2,1)
  b=b!Asc(a$)
  deca2=Asc(a$)&%00000011
  mdp_2+1
  
    
  While md5_2>Len(md5$)
    md5_2-Len(md5$)
  Wend
  a$=Mid(md5$,md5_2,1)
  b=b!Asc(a$)
  deca=Asc(a$)&%00000011
  md5_2+1
  
  
  While tot_2>Len(Str(total))
    tot_2-Len(Str(total))
  Wend
  a$=Mid(Str(total),tot_2,1)
  b=b!Asc(a$)
  tot_2+1
  
  
  While tot2_2>Len(mdp$)
    tot2_2-Len(mdp$)
  Wend
  a$=Mid(mdp$,tot2_2,1)
  b=b!(Asc(a$)<<deca)
  tot2_2+1
  
  
  While tot3_2>Len(md5$)
    tot3_2-Len(md5$)
  Wend
  a$=Mid(md5$,tot3_2,1)
  b=b!(Asc(a$)<<deca2)
  tot3_2+1
  
  
  ; -------------------- bit de poids fort
  b!(bit(len2)*128)
  len2+1
  If len2>len
    len2=1
  EndIf
  
  
WriteByte(1,b)
Wend

fin:
CloseFile(0)
CloseFile(1)
RandomSeed(r(new))
new+1

TempsEcoule = ElapsedMilliseconds()-TempsDepart
Debug "Temps écoulé : "+Str(TempsEcoule)+" millisecondes" 


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;fin;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   Else
     MessageRequester("Information","Impossible d'ouvrir le fichier!")
     End
   EndIf
 EndIf
 
 
     
     
     For i=1 To 3
       Beep_(1500,90)
       Delay(50)
     Next
     
          MessageRequester("Information","Temps écoulé : "+Str(TempsEcoule)+" millisecondes")

     End
     
     Goto debut
     
     
Dernière modification par SPH le dim. 20/mars/2016 16:29, modifié 1 fois.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Besoin de conseils pour fignoler mon crypteur

Message par SPH »

Spock a écrit :

Code : Tout sélectionner



procedure Crypt ( password.s,mode )
; initialisation ici 
	
	select mode
		case 0 		
		; ici le code pour crypter	
		Case 1 		
		; ici le code pour decrypter
		
	EndSelect
	
	ProcedureReturn Etat ; retourne un code d'etat pour savoir si ça c'est bien passé
EndProcedure
; Epb

Je m'interroge... Je ne veux pas repeter 2 fois mon code (une fois dans CASE1 et une fois dans CASE2)

Je ne sais meme pas si je debute bien :

Code : Tout sélectionner



procedure Crypt ( password.s,mode )
; initialisation ici 
	
	select mode
		case 0 		
		; ici le code pour crypter
                  crypt=0	
		Case 1 		
		; ici le code pour decrypter
		  crypt=1
	EndSelect
	
	ProcedureReturn Etat ; retourne un code d'etat pour savoir si ça c'est bien passé
EndProcedure
; Epb
Je le met ou mon code ?

(jamais utilisé les CASE)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Besoin de conseils pour fignoler mon crypteur

Message par SPH »

Ha ok, j'y vois plus claire. Merciii 8)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Besoin de conseils pour fignoler mon crypteur

Message par Ar-S »

Tu ne vas pas laisser : password.s ="mot de pass" en claire dans l'exe si ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Besoin de conseils pour fignoler mon crypteur

Message par SPH »

Ar-S a écrit :Tu ne vas pas laisser : password.s ="mot de pass" en claire dans l'exe si ?
Non, le password, il faudra le renseigner dans un champ PASSWORD :idea:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Besoin de conseils pour fignoler mon crypteur

Message par falsam »

Hello SPH.

Mise à part ta façon de coder à l'ancienne, j'aime bien ton code. :wink:

Les gadgets et les procédures tu ne connais pas et tu t'en sors plutôt bien. Mais tu sais que PureBasic est évolué ?

Remplace

Code : Tout sélectionner

OpenFileRequester("Choisissez un fichier à sauvegarder", "*.*", "*.*", 0)
par

Code : Tout sélectionner

SaveFileRequester("Choisissez un fichier à sauvegarder", "", "*.*", 0)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Besoin de conseils pour fignoler mon crypteur

Message par falsam »

SPH a écrit :J'ai fais un crypteur/decrypteur et je cherche a faire la carrosserie de ma procedure. ... J'ai regardé la doc pour faire du canvas mais j'ai pas compris :
je ne sais pas quel idée tu as dans la tête, mais un canvas pour ça ne sert à rien.

Un exemple de carrosserie de ta procédure.

Code : Tout sélectionner

Enumeration Window
  #MainForm
EndEnumeration

Enumeration Gadget
  #Function
  #Password 
  #Run
EndEnumeration

Global Dim r.q(1000), New.i

Declare Reserve()
Declare Debut()


Reserve()
Debut()

; --- reserve de nombres aleatoires ---
Procedure Reserve()
  Protected cmb.i, i
  
  For i=0 To 1000
    cmb=Random(40)
    For u=0 To cmb
      r(i)+ Random(65536*32768-1)
    Next
  Next
  new=0
  
  Beep_(500,150)
EndProcedure

Procedure Debut()
  Protected b.b = 0
  UseMD5Fingerprint()
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  OpenWindow(#MainForm, 0, 0, 280, 150, "Cryptage & Décrypage de données", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  TextGadget(#PB_Any, 10, 20, 100, 22, "Fonction")
  ComboBoxGadget(#Function, 110, 20, 150, 22)
  AddGadgetItem(#Function, -1, "Crypter")
  AddGadgetItem(#Function, -1, "Décrypter")
  SetGadgetState(#Function, 0) ;Se positionner sur le premier élement
  
  TextGadget(#PB_Any, 10, 50, 100, 22, "Mot de passe")
  StringGadget(#Password, 110, 50, 150, 22, "1234")
  
  ButtonGadget(#Run, 108, 103, 80, 25, "Go")
  
  Repeat
    Select WaitWindowEvent(10)
      Case #PB_Event_Gadget ;Evenement sur un gadget 
        If EventGadget() = #Run
          
          ; c'est ici que se decide si on crypte ou on decrypte :
          crypt = GetGadgetState(#Function) ; 0 = crypter 1 = decrypter
          mdp$  = GetGadgetText(#Password)
          
          If crypt=0
            a$="crypter"
          Else
            a$="décrypter"
          EndIf
          
          If Len(mdp$) <> 0
            
            Fichier$ = OpenFileRequester("Choisissez un fichier à "+a$, "*.*", "*.*", 0)
            
            If Fichier$
              ReadFile(0, Fichier$)
              ;b.b=ReadByte(0)
              ;Debug b
              Fichier2$ = SaveFileRequester("Choisissez un fichier à sauvegarder", "", "*.*", 0)
              If Fichier2$ And Fichier$<>Fichier2$
                CreateFile(1, Fichier2$)
                
                ;-------------stockage des bits--------------          
                len=Len(mdp$)
                Dim bit.b(len*8)
                For i=1 To len
                  a$=Mid(mdp$,i,1)
                  For u=0 To 7
                    bit((i-1)*8+u+1) = (Asc(a$)>>u)%2
                    ;Debug bit((i-1)*8+u+1)
                  Next
                Next
                
                ;---calcul de total---
                x.q=1
                total.q=0
                For i=1 To Len(mdp$)
                  mid$=Mid(mdp$,i,1)
                  total+Asc(mid$)*x
                  If x>=65536*65536*65536
                    x=1
                  Else
                    x*2
                  EndIf
                Next
                Debug total
                
                ;------------------calcul de md5$ et de md5--------------------
                md5$= StringFingerprint(mdp$, #PB_Cipher_MD5)
                Debug md5$
                md5=0
                For i=1 To Len(md5$)
                  mid$=Mid(md5$,i,1)
                  md5+Asc(mid$)
                Next
                Debug md5
                
                ;-------------------creation de dim octet et du premier octet-------------------
                Dim octet.b(600)
                
                If crypt=0
                  For i=0 To 600
                    octet(i)=Random(255)+Random(255)+Random(256)+Random(254)+Random(250)+Random(260)  
                  Next
                Else
                  For i=0 To 9
                    octet(i)=ReadByte(0)
                  Next
                EndIf
                
                
                bit4.b=total+md5+octet(0)+octet(1)+octet(2)+octet(3)+octet(4)+octet(5)+octet(6)+octet(7)+octet(8)+octet(9)
                Debug bit4
                bit4w.w=10+bit4&%00001111
                Debug bit4w
                
                octet(bit4w)=bit4
                
                ;--------------------
                mdp_2=0
                md5_2=0
                tot_2=0
                tot2_2=0
                tot3_2=0
                
                For  u=1 To 32
                  
                  md5$+ StringFingerprint(mdp$+Str(bit4), #PB_Cipher_MD5)
                  
                  Debug md5$
                  md5=0
                  For i=1 To Len(md5$)
                    mid$=Mid(md5$,i,1)
                    md5+Asc(mid$)
                  Next
                  Debug md5
                  
                  bit4.b=total+md5
                  Debug bit4
                  bit4w.w+1+bit4&%00001111
                  Debug bit4w
                  
                  If u<=10
                    mdp_2+bit4w
                  EndIf
                  If u<=21
                    md5_2+bit4w
                  EndIf
                  If u<=32
                    tot_2+bit4w
                  EndIf
                  If u<=24
                    tot2_2+bit4w
                  EndIf
                  If u>=22
                    tot3_2+bit4w
                  EndIf
                  
                  octet(bit4w)=bit4
                  
                Next
                
                ;--------------------
                If crypt=0
                  Debug "===="
                  For i=0 To bit4w
                    b.b=octet(i) 
                    ;Debug b
                    WriteByte(1,b)
                  Next
                Else
                  If Lof(0)>=bit4w+1
                    FileSeek(0, bit4w+1) 
                  Else
                    MessageRequester("Information","Fichier trop petit !")
                    Goto fin
                  EndIf
                EndIf
                
                
                TempsDepart = ElapsedMilliseconds()
                
                
                ;mdp$, total, md5$, octet(), bit()
                
                RandomSeed(total)
                len*8
                len2=1
                
                While Eof(0) = 0
                  b.b=ReadByte(0)
                  
                  b=b!Random(255)
                  b=b!Random(255)
                  b=b!Random(255)
                  b=b!Random(255)
                  b=b!Random(255)
                  b=b!Random(255)
                  b=b!Random(255)
                  
                  If bit(len2)=0
                    b=b!Random(255)
                    b=b!Random(255)
                    b=b!Random(255)
                    b=b!Random(255)
                  EndIf
                  
                  
                  While mdp_2>Len(mdp$)
                    mdp_2-Len(mdp$)
                  Wend
                  a$=Mid(mdp$,mdp_2,1)
                  b=b!Asc(a$)
                  deca2=Asc(a$)&%00000011
                  mdp_2+1
                  
                  While md5_2>Len(md5$)
                    md5_2-Len(md5$)
                  Wend
                  a$=Mid(md5$,md5_2,1)
                  b=b!Asc(a$)
                  deca=Asc(a$)&%00000011
                  md5_2+1
                  
                  
                  While tot_2>Len(Str(total))
                    tot_2-Len(Str(total))
                  Wend
                  a$=Mid(Str(total),tot_2,1)
                  b=b!Asc(a$)
                  tot_2+1
                  
                  
                  While tot2_2>Len(mdp$)
                    tot2_2-Len(mdp$)
                  Wend
                  a$=Mid(mdp$,tot2_2,1)
                  b=b!(Asc(a$)<<deca)
                  tot2_2+1
                  
                  While tot3_2>Len(md5$)
                    tot3_2-Len(md5$)
                  Wend
                  a$=Mid(md5$,tot3_2,1)
                  b=b!(Asc(a$)<<deca2)
                  tot3_2+1
                  
                  ; -------------------- bit de poids fort
                  b!(bit(len2)*128)
                  len2+1
                  If len2>len
                    len2=1
                  EndIf
                  
                  
                  WriteByte(1,b)
                Wend
                
                fin:
                CloseFile(0)
                CloseFile(1)
                RandomSeed(new)
                new+1
                
                TempsEcoule = ElapsedMilliseconds()-TempsDepart
                Debug "Temps écoulé : "+Str(TempsEcoule)+" millisecondes" 
                
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;fin;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
              Else
                MessageRequester("Information","Impossible d'ouvrir le fichier!")
                End
              EndIf
            EndIf
            
            For i=1 To 3
              Beep_(1500,90)
              Delay(50)
            Next
            
            MessageRequester("Information","Temps écoulé : "+Str(TempsEcoule)+" millisecondes")
          Else
            MessageRequester("Information", "Vous devez saisir un mot de passe " + #CRLF$ + "qui servira à crypter les données.") 
            SetActiveGadget(#Password)
          EndIf ;Fin de la condition un mot de passe doit etre valide 
        EndIf ;Fin de If Run .... 
        
      Case #PB_Event_CloseWindow
        End
        
    EndSelect
  ForEver
EndProcedure
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Besoin de conseils pour fignoler mon crypteur

Message par SPH »

Je voudrais faire ca (gfx temporaires) :
Image
J'avais vu de magnifiques graphismes de boutons d'un logiciel de gallyHC. Et je crois me souvenir que tout etait géré par un canvas.
Vous voyez ce que je veux dire ? 8O

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Besoin de conseils pour fignoler mon crypteur

Message par falsam »

Le prix de la super faineasse est attribué à ...... Suspense .......SPH ...... Applause & YeahHHHhhhhhh

Petit cahier des charges sommaire.

- Un bouton (canvas) pour la fonction Crypter et Décrypter
- L'utilisateur saisit un mot de passe (En fait c'est la clé de cryptage et de décryptage)
- L'utilisateur choisit le fichier à Crypter ou à décrypter.

Question.
- Le fichier final est choisi au moment de lancer le traitement ou bien avant de lancer le traitement ?

Commentaire.
SPH il me semble que tu sais dessiner dans un Sprite ? Dans un canvas c'est la même chose.

PS : Aux non habitués de FreeChat : Il est inutile de me faire des remarques sur les propos que je tiens sur SPH. Je sais qu'il ne m'en voudra pas.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Besoin de conseils pour fignoler mon crypteur

Message par SPH »

je vais mediter tout cela 8)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Besoin de conseils pour fignoler mon crypteur

Message par falsam »

Je laisse le code précédent au profit de celui là provisoirement disponible en cliquant sur ce lien

Lien supprimé : Voir le lien de SPH plus loin.

- Source
- Image PNG & Photofiltre
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Besoin de conseils pour fignoler mon crypteur

Message par Micoute »

On m'a souvent dit qu'un petit croquis valait mieux qu'un long discours !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Besoin de conseils pour fignoler mon crypteur

Message par SPH »

Merci falsam. Ton truc est tres beau. Je l'etudierais pour voir comment tu as fait (donc, logiquement, je n'ai plus de raison de demander quoi que ce soit sur les canvas)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Besoin de conseils pour fignoler mon crypteur

Message par falsam »

C'est moi qui te remercie pour ce code de cryptage & décryptage qui est le plus gros du travail. Ma participation ne se limite qu'à l'enveloppe c'est à dire même pas 1% du code.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Besoin de conseils pour fignoler mon crypteur

Message par SPH »

Report d'un bug. Il faut remplacer le randowSeed(new) :

Code : Tout sélectionner

fin:
CloseFile(0)
CloseFile(1)
RandomSeed(new)
new+1
par ceci :

Code : Tout sélectionner

fin:
CloseFile(0)
CloseFile(1)
RandomSeed(r(new))
new+1
Tout ce que vous avez deja crypté est correct malgré tout.

Le code carrossé par Falsam : http://xmas.free.fr/sph/MutanteKey.zip

Le crypteur en exe : http://xmas.free.fr/sph/MutanteKey.exe

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre