Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Passwort "verschlüsseln" (https://www.delphipraxis.net/7361-passwort-verschluesseln.html)

Pseudemys Nelsoni 10. Aug 2003 14:29


Passwort "verschlüsseln"
 
ich weiss das es schon ne menge threads drüber gibt, aber so wie ich es vor hatte stand da nichts...

also es geht darum das mein programm das Passwort das in einem edit steht in die registry geschrieben werden soll(es muss nicht sooo sicher sein, nur ein bisschen(mir reicht das))...das wäre alles kein problem wenn nur zahlen im passwort vorkommen würden, dann würde ich einfach was malnehmen + etc...und nachher wieder umkehren. Es kommen aber leider auch buchstaben vor also ist es kein integer mehr...wie soll ich buchstaben zu zahlen umwandeln(ok ich weiss ungefähr wie das gehen KÖNNTE) aber wenn ichs dann wieder umkehren wollen würde weiss man ja nichtmehr welche zahl ein buchstabe war, und welche eine zahl

hat jemand ne idee?

Christian Seehase 10. Aug 2003 14:42

Re: Passwort "verschlüsseln"
 
Moin Silent,

ein Buchstabe ist eigentlich ja nur ein Zeichen wie jedes andere (Ziffer, Interpunktion...), dessen Position Du mit der Funktion ord() ermitteln kannst.

Dass z.B. 65 als Zeichen A verwendet wird ergibt sich aus dem Zusammenhang, in dem dieser Zahlenwert gebraucht wird.
In einem String würde man die 65 als chr(65) verwenden, und so ein A erhalten, bei, beispielsweise, einem Integer könnte man die 65 direkt verwenden.

Z.B. mit dem DEC von Hagen Reddmann (negaH), dass gerade die letzten Tage hier Thema war, kannst Du aus einem Passwort einen Hashcode errechnen, und diesen dann speichern.

Der "Witz" an einer Passwortverschlüsselung ist ja, dass man diese eben nicht wieder umkehren kann. Die Prüfung auf "korrektes Passwort" findet statt, indem man das eingegebene PW erneut verschlüsselt, und mit der ursprünglich hinterlegten Prüfsumme vergleicht.

Falls Dir das zu aufwändig ist, kannst Du auch die einfache XOR Verknüpfung verwenden. Hierbei wird jedes Zeichen XOR mit einem anderen Wert verknüpft, und das Ergebnis gespeichert. Wird der verschlüsselte Wert erneut mit genau dem gleichen Wert XOR verknüpft, hast Du wieder den Ursprungswert.

RomanK 10. Aug 2003 14:46

Re: Passwort "verschlüsseln"
 
Hoi,
such mal hier im Forum nach Hier im Forum suchenMd5

Pseudemys Nelsoni 10. Aug 2003 15:00

Re: Passwort "verschlüsseln"
 
hi

@Christian: Danke für die ausführliche Beschreibung. Jo den "Witz" find ich aber nicht gut :cry: deswegen möchte ich meins zurück errechnen lassen können (auch wenn es unsicher ist). Das mit dem ascii..also das A z.B 65 ergibt, da hab ich mir auch schon überlegt das so mit reinzuschreiben, das problem dabei ist aber, das z.b bei

A562B453C das passwort so in der registry steht: 655626645367

aber wie kann ich da noch rausbekommen welche buchstaben dadrin stecken, schliesslich könnte ja auch "655" der wert des ersten buchtaben sein statt "65"...gibt es da eine möglichkeit? vielleicht sollte ich hinter nem ":" diemenge,position,länge jeden buchstabens schreiben?

@Fuck: hab ich schon, habs auch schon mit blowfish etc gelesen...aber ich möchte es ja so machen wie von mir beschrieben (eben die leichteste methode :D)

danke an euch beide

ichhabefertig 10. Aug 2003 15:09

Re: Passwort "verschlüsseln"
 
Mach's doch einfach mit ORD und check das Ergebnis auf die Länge, wenn's kleiner als 100 ist, dann schreibe ein Null davor, wenn's kleiner als 10 ist, zwei Nullen, somit hast Du immer drei Zahlen.

RomanK 10. Aug 2003 15:10

Re: Passwort "verschlüsseln"
 
Hoi silent,
wie wärs wenn du einen Seperator zwischen jedes "Buchstabenpaar" machst ( : z.B.).
Oder du machst bei 1 oder 2 stelligen Zahlen, 2 oder 1 Null(en) davor. Sodass alle Zahlen aus 3 Ziffern bestehen.

BTW: Ich würde auch den Ascii-Wert von Zahlen in deinem String nehmen. Bsp: Aus 5 wird 53 (bzw: 053).

Christian Seehase 10. Aug 2003 15:16

Re: Passwort "verschlüsseln"
 
Moin Silent,

bei hexadezimaler Schreibweise kommst Du mit zwei Stellen / Zeichen aus (vorausgesetzt, dass Du keinen Unicode verwenden willst)

Pseudemys Nelsoni 10. Aug 2003 15:18

Re: Passwort "verschlüsseln"
 
danke leute, ich probier das mal ;)

negaH 10. Aug 2003 16:10

Re: Passwort "verschlüsseln"
 
Eine Frage: was soll mit dem Passwort passieren ?

Soll es als Login-Passwort dienen, d.h. der User definiert einmal ein Passwort, und beim nächsten Login soll überprüft werden ob das Passwort korrekt ist.
Oder sollen mit diesem Passwort Daten Ver/Entschlüsselt werden, und der User soll nicht jedesmal das Passwort eingeben müssen.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz