Passwort sicher in Datei speichern :: gelöst

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
KinkMike
Beiträge: 39
Registriert: 03.11.2007 18:30
Kontaktdaten:

Passwort sicher in Datei speichern :: gelöst

Beitrag von KinkMike »

Hallo, wie das Topic schon sagt, suche ich eine Möglichkeit, ein Passwort, welches ein User wählt in eine Datei zuschreiben, die nur das Programm öffnen und auslesen kann.

Gibts da ne Möglichkeit in PB 3.3, oder wäre es sinnvoller eine normale txt-datei zu erstellen und dann ein verschlüsseltes Passwort hineinzuschreiben ?

Im Vorraus besten Dank.

-- KinkMike
Zuletzt geändert von KinkMike am 17.03.2008 20:02, insgesamt 1-mal geändert.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

letzteres.
gibt es in der 3.30 schon den MD5-Fingerprint?

nur den Fingerprint speichern, das eingegebene paßwort codieren und die codes vergleichen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Kaeru Gaman hat geschrieben:gibt es in der 3.30 schon den MD5-Fingerprint?
Ja gibt es.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

das wäre die "Einweg"-Wethode.

ich habe damals mal n De/En-code Procedure geschrieben die mit Zufallszahlen arbeitet, sodass das Codierte immer anders aussieht obwohl die Basis gleich war. Ich weiß nicht ob es das ganze sicherere macht

Das Codierte ist IMMER doppelt so lang wie der String (um eine NULL zu vermeiden)

Code: Alles auswählen

; Codiert bzw. decodiert einen String
Procedure.s Encoder(String$, Key$)
 LenString = Len(String$)
 LenKey = Len(Key$)
 i = 1
 For n = 1 To LenString 
  StringZeichen$ = PeekS(@String$+n-1, 1)
  KeyZeichen$ = PeekS(@Key$+i-1, 1)
  NeuesZeichen = (Asc(StringZeichen$)+Asc(KeyZeichen$)) % 256
  t = Random(NeuesZeichen/2)+NeuesZeichen/4
  A = t+32
  B = NeuesZeichen-t+32
  CodierterString$ + Chr(A) + Chr(B)
  i + 1
  If i > LenKey : i = 1 : EndIf
 Next n
 ProcedureReturn CodierterString$
EndProcedure
Procedure.s Decoder(CodierterString$, Key$)
 LenString = Len(CodierterString$)/2
 LenKey = Len(Key$)
 i = 1
 For n = 1 To LenString 
  A = Asc(PeekS(@CodierterString$+n*2-2, 1)) - 32
  B = Asc(PeekS(@CodierterString$+n*2-1, 1)) - 32
  KeyZeichen$ = PeekS(@Key$+i-1, 1)
  Zeichen = (A+B-Asc(KeyZeichen$)) % 256
  String$ + Chr(Zeichen)
  i + 1
  If i > LenKey : i = 1 : EndIf
 Next n
 ProcedureReturn String$
EndProcedure

x$ = "Dies ist ein Testsatz mit ein paar Sonderzeichen: Å© ÿ"

Code$ = Encoder(x$, "Muster")
Debug Code$
DeCode$ = Decoder(Code$, "Muster")
Debug DeCode$
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
KinkMike
Beiträge: 39
Registriert: 03.11.2007 18:30
Kontaktdaten:

Beitrag von KinkMike »

ok erst mal thx @ all

und @ STARGÅTE

der Code hilft mir sehr gut weiter :D


-- KinkMike
Antworten