AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCRYPT)
Thema durchsuchen
Ansicht
Themen-Optionen

PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCRYPT)

Ein Thema von walter_b · begonnen am 15. Jul 2008 · letzter Beitrag vom 29. Jul 2008
 
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: PHP in Pascal:mcrypt_ecb(MCRYPT_DES, $a, $b, MCRYPT_ENCR

  Alt 15. Jul 2008, 21:25
Hi walter_b!
Zitat von walter_b:
Wie sieht es mit der Benutzung von DEC aus? Muss ich mich da wirklich an das ganze Ding binden, indem ich es bei Uses angebe, oder kann ich einfach die paar wenigen entsprechenden Zeilen in mein Programm reinpasten? Oder gehört noch mehr als dies rein?
Nein, die paar Zeilen pasten geht sowieso nicht und sowas sollte man auch nicht tun, wenn man nicht versteht, was man kopiert. Diese sind ein Anwendungsbeispiel und würden so nicht compilieren.

Und ja, Du mußt die vollständige Unit einbinden. Verschlüsselung ist etwas komplexes - dies läßt sich nicht in einer Hand voll Zeilen durchführen. Aber zum Glück nimmt Dir das DEC die Arbeit ab.

Zitat von walter_b:
Ich habe da ein paar DES gefunden, weiss aber nicht, welches meiner Vorstellung entspricht.
Weisst du zufälligerweise mehr darüber, welches ich benutzen muss?
Ich kann doch nicht hellsehen

Wenn ich bei mir die Unit DECCipher.pas öffne, steht dort aber etwas mehr:
Delphi-Quellcode:
TCipher_1DES = class; {Single DES  8 byte Blocksize,  8 byte Keysize  56 bits relevant}
TCipher_2DES = class; {Triple DES  8 byte Blocksize, 16 byte Keysize 112 bits relevant}
TCipher_3DES = class; {Triple DES  8 byte Blocksize, 24 byte Keysize 168 bits relevant}
TCipher_2DDES = class; {Triple DES 16 byte Blocksize, 16 byte Keysize 112 bits relevant}
TCipher_3DDES = class; {Triple DES 16 byte Blocksize, 24 byte Keysize 168 bits relevant}
TCipher_3TDES = class; {Triple DES 24 byte Blocksize, 24 byte Keysize 168 bits relevant}
Wie mcrypt zu benutzen ist, steht ja unter http://de3.php.net/mcrypt_ecb. Also gehe ich davon aus - ohne mcrypt zu kennen - es handelt sich um einen einfachen DES Cipher und kein Triple DES. Zusätzlich schließe ich aus Deinen Parametern für mcrypt, daß Du libmcrypt 2.2.x verwendest.

Das ganze ist unter der PHP Infoseite zusätzlich als "deprecated" gekennzeichnet, also sollte es so nicht mehr gemacht werden...

Auf jeden Fall wäre der Cipher hier also TCipher_1DES. Zusätzlich verwendest Du mcrypt ohne IV Initialisierungsvektor (das ist schonmal nicht so gut) - hier wäre also der IV leer.

Wegen Deines mcrypt Aufrufs suchst Du Dir also aus dem TCipherMode einen mit ECB heraus:
TCipherMode = (cmCTSx, cmCBCx, cmCFB8, cmCFBx, cmOFB8, cmOFBx, cmCFS8, cmCFSx, cmECBx); Das führt zu etwas wie:
Delphi-Quellcode:
function DecodeText(Inputtext, Key: String): String;
begin
  with TCipher_1DES.Create do
  try
    Mode := cmECBx;
    Init(Key);
    Result := EncodeBinary(Inputtext, TFormat_HEXL);
  finally
    Free;
  end;
end;
Das ganze ist nur aus dem Kopf und nicht geprüft! Es kann sein, daß Du etwas anderes als TFormat_HEXL verwenden mußt...

Jetzt habe ich ja doch Deine Arbeit gemacht
Naja, es ist ja Dein Einstand hier und mal sehen, was noch so kommt von Deiner Seite.

Gruß Assertor
Frederik
  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 14:20 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