Daten verschlüsseln

felix56

New Member
Hallo Zusammen

Ich habe da ein kleines Problem. Ich schreibe mit einem Delphi-Programm Daten in eine SQL-Server 2000 Tabelle. Nun müssen in einem Feld die Daten verschlüsselt eingetragen werden. Meine Frage ist, gibt es von SQL-Server eine Funktion die Daten beim speichern verschlüsselt oder muss ich das im Programm machen?

Gruss
Felix
 
Hallo,

meinst Du bspw. ein Passwort? Mir sagt zwar SQL 2000 nix, aber vermute mal, dass es so ähnlich wie MSSQL tickt? Da könntest Du mal den Link probieren. Alternative: hier.

Grüße
Sinepp
 
Hallo Sinepp

Besten Dank für Deine Hilfe.
Konnte das Problem mit der folgenten Funktion lösen:

Code:
function _hashCode(val: string): Integer;
var
  i: Integer;
  res: Extended;
  x: Integer;

  function RoundEx(x: Extended): Integer;
  begin
    Result := Trunc(x) + Trunc(Frac(x) * 2);
  end;
begin
  res := 0;

  for i := 1 to Length(val) do
  begin
    res := res + Ord(val[i]) * Power(31, Length(val) - (i - 1) - 1);
  end;

  Result := RoundEx(res);
end;

Einen schönen Tag
Felix
 
Ich denke bei Verschlüsselung auch eher an in Delphi oder SQL 2000 eigebaute Hash-Verschlüsselungen a la SHAX oder MD5...

Grüße
Sinepp
 
Daten über MD5 verschlüsseln? Du bekommst aus einem MD5-Hash niemals mehr den Klartext zurück.
Empfehlen kann ich dir die Blowfish_Verschlüsselung. Es gibt im Netz (google) genug Module oder Quellcodes zur Implementierung. Vielleicht findest du auch ne AES128 oder besser noch ne AES256-Verschlüsselung (einfach googln... "Delphi", "Verschlüsselung","AES", "Modul",...)
Allerdings würde ich für die Passwörter einen Hash verwenden. MD5, SHA1 od. SHA2.

Apropos. bevor hier jmd. aufschreit SHA-1 wurde kompromitiert... den kann ich beruhigen jetzt sind es halt nicht wie angenommen 10 hoch 86 möglichkeiten für einen Bruteforce-Angriff, sondern nur noch 10 hoch 68 (in einigen außnahmefällen !!! Was bedeutet nicht jeder Hash ist anfällig!!!)
Ich glaub das reicht trotzdem noch aus für ein Passworthash ...
 
Back
Top