AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DCPcrypt Stringverschlüsselung

Ein Thema von Schorschi5566 · begonnen am 7. Dez 2013 · letzter Beitrag vom 7. Dez 2013
 
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

DCPcrypt Stringverschlüsselung

  Alt 7. Dez 2013, 10:33
Hallo DP,

ich habe folgende Testfunktion geschrieben (kommt ursprünglich von hier):
Delphi-Quellcode:
function EncryptStringDES_Test(const Text, Password: string): string;
var
  Cipher: TDCP_des;
  src, enc: TBytes;
  i, iLen: Integer;
  sPsw : string;
begin
  Cipher := TDCP_des.Create(nil);
  try
    sPsw := Password;
    for i := 0 to 7 do
      sPsw := sPsw + Char(Random(26) + 65); // zum Testen nur zufällige Großbuchstaben anhängen
    Cipher.InitStr(sPsw, TDCP_sha256);
    src := TEncoding.UTF8.GetBytes(Text);
    iLen := length(src);

    SetLength(enc, iLen);
    Cipher.EncryptCBC(src[0], enc[0], iLen);
    Result := Soap.EncdDecd.EncodeBase64(enc, length(enc));
  finally
    Cipher.Burn;
    Cipher.Free;
  end;
end;

// Aufruf
procedure TfrmStrTests.btnEncryptClick(Sender: TObject);
begin
  edEncrypted64.Text := EncryptStringDES_Test(edTextToEncrypt.Text, edPassword.Text);
end;
Ich würde erwarten, dass sich das Chiffrat bei jedem Durchlauf ändert, weil ja an das Passwort ein zufälliger String angehängt wird. Tut es aber merkwürdigerweise nicht. Es bleibt einfach gleich. Ändere ich das übergebene Passwort, ändert sich auch einmalig das Chiffrat und bleibt dann wieder gleich.

Das Verhalten tritt auf sobald das übergebene Passwort 8 Stellen oder länger ist.

Beim Testen habe ich dann mal die For-Schleife 16 Durchläufe machen lassen und siehe da, das Chiffrat ändert sich bei jedem Durchlauf, wie gewünscht.

Kann mir das jemand erklären? Hatte schon "vermurksten Speicher" im Verdacht und habe alles mal neu gestartet aber das Problem lässt sich standhaft reproduzieren.

Habe statt TDCP_sha256 auch schon TDCP_sha1 probiert oder einen anderen Cipher-Typ, was aber am Verhalten auch nichts ändert. Bin etwas ratlos.

DCPcrypt habe ich nicht installiert, sondern einfach die Sourcen in den Bibliothekspfad aufgenommen.

Könnte es daran liegen oder an irgendwelchen Compileroptionen? Habe aber eigentlich keine besonderen Einstellungen...


Grüße,
Uwe
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
 


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 05:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz