AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

Ein Thema von dust258 · begonnen am 23. Feb 2011 · letzter Beitrag vom 24. Feb 2011
Antwort Antwort
Seite 1 von 2  1 2      
dust258

Registriert seit: 18. Aug 2008
62 Beiträge
 
#1

Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 14:24
Hallo Leute,

wie die Überschrift schon sagt möchte ich ein Passwort verschlüsselt in meiner Datenbank speichert, um es später wieder auslesen.
Das Speichern geschieht innerhalb einer Delphi-Applikation. Das Auslesen des Passworts geschieht in einer C#-Anwendung.

Fällt euch ein Verfahren ein mit dem ich das bewerkstelligen könnte, welches sowohl unter Delphi als auch unter C# umsetzbar ist?

Mir würde da spontan RSA einfallen (WOW, doch was in der Berufsschule gelernt), aber das scheint mir für ein einfaches Passwort leicht übertrieben.
Was meint Ihr?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 14:32
Generell gehen alle Verfahren. Der Fallstrick ist jedoch nur das bei Delphi (bis D2009) man mit String einen 1-Byte String hat und bei .NET String ein UTF-16-Codierter String vorliegt.

Brauchst du wirklich das Passwort in .NET oder reicht der Hash? Bedenke auch das dein .NET-Programm obfuscated damit ein Angreifer es nicht zu einfach hat.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 14:33
MD5 oder besser SHA1 wären Kandidaten. Du könntest natürlich auch RO13, oder base64 anwenden, wobei das keine Verschlüsselungsalgos sind. (Sie täuschen sogar Sicherheit vor, wo keine ist.)
SHA1 sollte relativ sicher sein und wurde bestimmt schon in beiden Sprachen implementiert.
  Mit Zitat antworten Zitat
dust258

Registriert seit: 18. Aug 2008
62 Beiträge
 
#4

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 14:38
Danke für die Antwort. Ja, über das Problem mit den Unicode-Strings bin ich auch gestoßen.

Und ja, ich benötige wirklich das Passwort. Es handelt sich dabei um Kontodaten die vom Delphi-Programm aus eingegeben und vom C# Programm zur Kommunikation verwendet werden.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 15:16
Du könntest natürlich auch RO13, oder base64 anwenden, wobei das keine Verschlüsselungsalgos sind. (Sie täuschen sogar Sicherheit vor, wo keine ist.)
Rot13 ist natürich ein Verschlüsselungsalgorithmus, und je nachdem wie weit man den Begriff fasst, könnte man auch Base64 als einen solchen bezeichnen, nur sind halt beide extrem schwach. Was du meintest sind wohl eher Hashs, denn die von dir aufgezählten Algorithmen MD5 und SHA-1 gehören zu dieser Gruppe, und keine Verschlüsselungsalgorithmen.

Geändert von Namenloser (23. Feb 2011 um 15:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 15:25
Rot13 ist absolut ungeeignet um Daten zu verschlüsseln, dann kann man sie gleich im Klartext ablegen. Base64 ein Kodierungs-Algo also auch nicht geeignet.

Die Frage ist wie sicher muss das ganze sein und wozu speicherst du ein Passwort?
Gruß
Cookie
  Mit Zitat antworten Zitat
dust258

Registriert seit: 18. Aug 2008
62 Beiträge
 
#7

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 15:39
Es handelt sich um Usernamen und Passwörter von E-Mail Postfächern. Es sollte halt nicht jeder, der das Passwort für die Datenbank kennt alle Passwörter der User auslesen können. Daher steht sowas wie Base64 nicht wirklich zur Diskussion.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 23. Feb 2011, 15:49
Auf der Seite von C# bist Du sehr flexibel, das Cryptography Assembly bietet fast alles was das Herz begehrt und decryptete Strings lassen sich auch in beliebige Formate (ASCII, UTF8 etc.) encodieren.

Ich würde einfach mal eine Testanwendung in Delphi schreiben, die einen String encrypted und sehen, ob der String dann mit C# wieder entschlüsselt werden kann.

Sicherheit hast Du aber nur, wenn Dein Programm für die Enschlüsselung das Passwort jedesmal abfragt. Wenn Du es fest im Programm hinterlegst, ist es auch fast egal mit was Du die Daten verschlüsselst.

Geändert von Satty67 (23. Feb 2011 um 15:51 Uhr)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#9

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 24. Feb 2011, 11:12
Es handelt sich um Usernamen und Passwörter von E-Mail Postfächern. Es sollte halt nicht jeder, der das Passwort für die Datenbank kennt alle Passwörter der User auslesen können.
Fall 1:
Die Passwörter werden tatsächlich verwendet, z.B. um später E-Mails aus anderen Quellen abzurufen, ohne das der Benutzers dieses erneut eingibt.
> Das Passwort muss verschlüsselt abgelegt werden.

Fall 2:
Die Passwörter dienen dazu, die Identität des User bei der Anmeldung an deinem System sicher zu stellen.
> Es genügt einen Hash vom Passwort zu bilden und in der DB abzulegen.
Bei Anmeldung des Benutzers wird erneut der Hash des eingegebenen Passwort gebildet und verglichen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#10

AW: Passwort verschlüsselt in Datanbank schrieben und mit C# auslesen

  Alt 24. Feb 2011, 11:24
Das Problem ist allerdings, daß du passend zum verschlüsselten Passwort direkt im Programm die Entschlüsseltungsmethode mitlieferst.
Also egal wie sicher die Verschlüsselung ist, da die Entschlüsselung immer mitgeliefert ist, kann man alles knacken, abgesehn davon, daß man das unverschlüsselte Passwort auch direkt aus dem Arbeitsspeicher rauskopieren könnte, wärend dein Programm dieses entschlüsselt hat, zur Anmeldung am Postfach.
(oftmals werden solche Passwörter sogar unverschlüsselt zum Mailserver übertragen, so daß man es auch noch im Netzwerktrafic leicht mitloggen kann und dann eh jeder vorherige Verschlüsslung umsonst war)

Da kann man also auch ein einfaches XOR oder Dergleichen nehmen.



Komplett unverschlüsselt würde ich diese Daten aber nicht speichern. (das wäre ja zu einfach )
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (24. Feb 2011 um 11:26 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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