Passwortfel !?!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

@wolf
und
@Andyx
und
@Andere

ok, erklärung:
Gibt einen 32 Zeichen langen MD5 (Message Digest 5) Hash-Code für die angegebene Datei zurück.
ich machs über umwege, um noch sicherer zu gehen.
sieht etwa so aus:

string lesen
string als txt speichern
verschlüsseln mit filefingerprint
und wenn das dann das gleiche gibt, wie in einer anderen datei steht, und in der exe verschlüsselt, dann stimmt das passwort.

wie gesagt, ist ein umweg, aber ich finds besser so.
mann kann dan auch noch andere funktionen einbauen.
zb, passwort etc ändern, oder was auch immer.

wenn dann der benutzer die datei manipuliert hat, dann kann man sagen: hey, du hast an meinem progg herumgefummelt


ich hoffe ihr versteht was ich sagen will, ansonnsten:
acuh egal :mrgreen:
-.-"
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

Das mit dem Passwort funktioniert. Da gibt es nur noch ein einziges aber großes Problem. Und zwar will ich einen InternetBrowser Programmieren, der beim Start ein Passwort anfordert.

Wie könnte ich das Problem lösen?

Und Danke für den Passwortcode!

Edit by Kiffi: Unsinnige Fragezeichen entfernt. @Programie: Grrr!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wenn Du mit Deinen ganzen Fragezeichen, das Layout der Seite nicht zerstört hättest, würde ich ja Deine Frage lesen wollen /:->
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

Hier ist der komplette Browsercode:

Code: Alles auswählen

Procedure ResizeWebWindow()
  ResizeGadget(10, -1, -1, WindowWidth(), WindowHeight()-52)
  ResizeGadget(6, -1, -1, WindowWidth(), -1)
EndProcedure
If OpenWindow(0, 100, 200, 500, 300, #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget, "Browser Version 1.01")
  CreateStatusBar(0, WindowID())
  StatusBarText(0, 0, "Willkommen", 0)
  CreateGadgetList(WindowID())
  ButtonGadget(1,  1,0,166,25,"Zurück")
  ButtonGadget(2,166,0,166,25,"Weiter")
  ButtonGadget(3,331,0,166,25,"Aktualisieren")
  Frame3DGadget(6, 0, 30, 0, 2, "", 2)
  If WebGadget(10, 0, 31, 0, 0, "www.Purebasic.de") = 0 : MessageRequester("Error", "ATL.dll not found", 0) : End : EndIf
  AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
  ResizeWebWindow()
  Repeat
    Event = WaitWindowEvent()
    Select Event
      Case #PB_Event_Gadget
        Select EventGadgetID()
          Case 1
            SetGadgetState(10, #PB_Web_Back)
          Case 2
            SetGadgetState(10, #PB_Web_Forward)
          Case 3
            SetGadgetState(10, #PB_Web_Refresh)
          Case 5
            SetGadgetText(10, GetGadgetText(4))
        EndSelect      
        
      Case #PB_Event_Menu ; We only have one shortcut
        SetGadgetText(10, GetGadgetText(4))
        
      Case #PB_Event_SizeWindow
        ResizeWebWindow()
        
    EndSelect
    
  Until Event = #PB_Event_CloseWindow
  
EndIf
Und vor diesen Browser will ich ein Passworteingabefeld anhängen. Nur da wird beim ausführen immer folgendes angezeigt:

Zeile 7: In includefile 'D:\Programmieren\PureBasic\Examples\Sources\Browser.pb'
Line 1-A Procedure can´t be declared inside an If, Repeat, While or For.

Edit by Kiffi: Code-Tags gesetzt
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

@Programie: Wenn Du Code in diesem Board postest, dann füge ihn bitte in
Code-Tags ein (dafür gibt's einen Button namens 'Code'). Achte auch darauf,
dass er vernünftig eingerückt ist, denn das erleichtert das Lesen des Codes.
a²+b²=mc²
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Ich vermute mal, du willst das hier, programie:

Code: Alles auswählen

DefType.s Benutzername1, Benutzername2, Passwort1, Passwort2
Benutzername1 = "93ef93bc71884c71f8223ff87d7ab5b4" ;MD5Checksumme von "programie"
Passwort1 = "9b459388e4628f1b18045bafff08ea5c" ;MD5Checksumme von "purebasic"

Procedure ResizeWebWindow()
  ResizeGadget(10, -1, -1, WindowWidth(), WindowHeight()-52)
  ResizeGadget(6, -1, -1, WindowWidth(), -1)
EndProcedure

If OpenWindow(0, 100, 230, 230, 90, #PB_Window_MinimizeGadget, "Browser 1.01 - Login")
  CreateGadgetList(WindowID())
  TextGadget  (0,10,10,100,20,"Benutzername")
  StringGadget(1,10,30,100,20,"")
  TextGadget  (2,120,10,100,20,"Passwort")
  StringGadget(3,120,30,100,20,"",#PB_String_Password)
  ButtonGadget(4,10,60,100,20,"OK")
  ButtonGadget(5,120,60,100,20,"Abbrechen")
  Repeat
    Event = WaitWindowEvent()
    If #PB_Event_Gadget = Event
      Select EventGadgetID()
        Case 4
          Benutzername2 = GetGadgetText(1)
          Passwort2 = GetGadgetText(3)
          If MD5Fingerprint(Benutzername2,Len(Benutzername2)) = Benutzername1 And MD5Fingerprint(Passwort2,Len(Passwort2)) = Passwort1
            CloseWindow(0)
            If OpenWindow(0, 100, 200, 500, 300, #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget, "Browser 1.01")
              CreateStatusBar(0, WindowID())
              StatusBarText(0, 0, "Willkommen", 0)
              CreateGadgetList(WindowID())
              ButtonGadget(1,  1,0,166,25,"Zurück")
              ButtonGadget(2,166,0,166,25,"Weiter")
              ButtonGadget(3,331,0,166,25,"Aktualisieren")
              Frame3DGadget(6, 0, 30, 0, 2, "", 2)
              If 0 = WebGadget(10, 0, 31, 0, 0, "www.purebasic.com", #PB_Web_Mozilla)
                MessageRequester("Error", "ATL.dll not found", 0)
                End
              EndIf
            EndIf
            AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
            ResizeWebWindow()
            Repeat
              Event = WaitWindowEvent()
              Select Event
                Case #PB_Event_Gadget
                  Select EventGadgetID()
                    Case 1
                      SetGadgetState(10, #PB_Web_Back)
                    Case 2
                      SetGadgetState(10, #PB_Web_Forward)
                    Case 3
                      SetGadgetState(10, #PB_Web_Refresh)
                    Case 5
                      SetGadgetText(10, GetGadgetText(4))
                  EndSelect     
                  Case #PB_Event_Menu ; We only have one shortcut
                    SetGadgetText(10, GetGadgetText(4))
                  Case #PB_Event_SizeWindow
                    ResizeWebWindow()
              EndSelect
            Until Event = #PB_Event_CloseWindow
          Else
            MessageRequester("Browser 1.01","Wrong login data! Restart the program to try again!")
            End
          EndIf
        Case 5
          End
      EndSelect
    EndIf
  Until Event = #PB_Event_CloseWindow
EndIf
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

GENAU DAS HABE ICH GESUCHT! ***Danke*** | ***Thank You***
Antworten