Gå til innhold

Anbefalte innlegg

Hallo

Jeg har lyst til å lage en login noe som denne:

Private Sub Command1_Click()

If Dir("C:\Documents and Settings\JBA\My Documents\VB\Login\" & Text1 & ".txt") = "" Then
MsgBox "Brukeren finnes ikke!", , "Trøbbel!"

Else

Open "C:\Documents and Settings\JBA\My Documents\VB\Login\" & Text1 & ".txt" For Input As #1

Do While Not EOF(1)
   Text3.Text = Text3.Text & Input(1, #1)
Loop

Close #1

If Text2.Text = Text3.Text Then

Form2.Show
Text3.Text = ""
Me.Hide

Else

MsgBox "Feil passord!", , "Trøbbel!"
Text3.Text = ""

End If

End If

End Sub

Private Sub Form_Load()

Text3.Visible = False

End Sub

Den åpner txt fila som heter brukernavn.txt i mappa mi. Men dette er jo langt ifra sikkert! Man kan jo åpne txt fila og se på passordet! Man kunne vel lagd noe som gjorde at s=a osv, men man kan jo bare rote litt i fila så blir passordet skifta til noe man ikke finner ut uten kildekoden. Hvordan kan jeg lage noe hvor passordet ligger i en passord beskyttet fil og at man kan redigere den etter at hele greie er gjort om til .exe? Husker en gang en fyr som snakka om MS access, men det programmet skjønner jeg ikke mye av.. Noen som har gjort detta før?

 

Edit: rota litt med koden.. skrev dim sum øverst. *borte*

Endret av jonas22282460
Lenke til kommentar
Videoannonse
Annonse

Det enkleste ville være å kryptere passordet med Xor, som dette:

 

Public Function Crypt(ByVal Text As String, ByVal Password As String) As String

Dim A&, B&, Buff$

Buff = Space(Len(Text))

For A = 1 To Len(Text)
B = B + 1
If B > Len(Password) Then B = 1
Mid(Buff, A, 1) = Chr(Asc(Mid(Text, A, 1)) Xor Asc(Mid(Password, B, 1)))
Next

Crypt = Buff

End Function

 

Du krypterer passordet slik f.eks:

 

Text3.Text = Crypt(Text2.Text, Text1.Text)
' Så lagrer du Text3.Text

 

Og dekrypterer og sjekker slik:

 

' Først last inn filen til Text3.Text
' Hvis passord er korrekt så ...
If Text2.Text = Crypt(Text3.Text, Text1.Text) Then ...

 

Dette er selvsakt ikke særlig godt kryptert, men den skulle holde.

Lenke til kommentar

Har du lyst har du lov har du vett lar du vær.

 

Ikke akkurat en genistrek, men kommer jo an på hvor godt vil

designe dette, og hvor sikkert du vil at innloggingen skal være.

Skal du bare hindre gamletanta å logge på dagboka di, holder kanskje

dette.

 

:) /*no flame intended*/

 

Kommer helt an på hva du skal bruke dette programmet ditt til og hva

det ev. skal gjøre.

Skal du ha databasestøtte så er dette feil ende å starte i. På den

anen side: MS Access er jo i utgangspunktet åpen som en låvedør

det også da...

Lenke til kommentar

aadnk, det er jo bare å skifte litt i text fila som blir loada og da blir jo alt fucka og jeg finner aldri passordet igjen!

 

Tassax, åpne som en lovedør? går det ikke ann å sette passord på slike filer? har sett en som gjorde det..

 

Edit: Jeg skal hindre alle! Vil bruke den måten som er sikrest.. Den må hente passordet fra en fil og den fila må være passord beskytta sånn at man ikke bare kan gå inn i den å se passordet.

Endret av jonas22282460
Lenke til kommentar

Du skulle liksom dekryptere teksten når du skulle loade filen tilbake ETTER du hadde kryptert den!

Uansett, skal du hindre alle bør du prøve såkalte HASH-er som er intrigert av Microsoft i opperativsystemet. Poenget med de er at det nesten er mattematisk umulig å tilbakestille passordet uten den rette "nøkkelen". Jeg antar Windows og Unix bruker en lignende teknologi, som iallefall hviser at det er ganske sikkert.

 

Download HASH-crypt class-modulen her

 

Den brukes omtrent slik:

 

Dim Crypt As New clsCryptoFilterBox

Private Sub Encrypt_Click()

Crypt.Password = Password.Text
Crypt.InBuffer = Text.Text
Crypt.Encrypt
Text.Text = Crypt.OutBuffer

End Sub

Private Sub Decrypt_Click()

Crypt.Password = Password.Text
Crypt.InBuffer = Text.Text
Crypt.Decrypt
Text.Text = Crypt.OutBuffer

End Sub

Private Sub Form_Load()

Crypt.Sign

End Sub

 

Så kommer problemet, hva skal passordet være for å kryptere passordet?? Det er jo klart at et statisk passord ikke akkuratt tilbyr særlig god kryptering, uansett hvor god algoritmen er. Men det er ikke sikkert at du trenger å la passordet være det som krypteres, men heller noe som programmet kan gjennkjenne som korrekt, dvs at det sjekker passordet for om det er rett. Jeg kjenner ikke til aloritmen som brukes, men jeg har sett programmer gjøre sånt. Kanskje fordi at den eneste måten å tilbakestille teksten på er å prøve alle mulige kombinasjonsmuligheter.

 

Men teksten må vel være enestående, ellers kan flere passord bli valide og sikkerheten minskes. Skal du beskytte f.eks noe mer en passordet (selvfølgelig, selv om eventuelle hackere ikke kan finne ut av passordet kan de da sikkert bare disassemble programmet ditt å finne det brukeren hadde fått) bør du kryptere det og, men vær oppmerksom på at større tekster må krypteres sekvensvis - max antall bokstaver pr. kryptering er vel rundt 128.

 

Kanskje skal du bare glemme å beskytte passordet, men istedenfor kryptere selve det som skal gis til brukeren, og bare leve med det faktum at brukeren ikke får beskjed om passordet er feil.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...