AGB  ·  Datenschutz  ·  Impressum  







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

String verschlüsseln in PHP

Ein Thema von junky · begonnen am 19. Aug 2013 · letzter Beitrag vom 19. Aug 2013
Antwort Antwort
junky

Registriert seit: 19. Aug 2013
6 Beiträge
 
#1

String verschlüsseln in PHP

  Alt 19. Aug 2013, 15:13
hallo, ich habe im internet eine funktion gefunden wie man in php einen string entschlüsseln kann (stackoverflow.com/questions/14995052/how-to-sync-encryption-between-delphi-and-php-using-dcpcrypt).
leider habe ich kein beispiel gefunden wie man denn einen string verschlüsseln kann. ich bekomme das selbst leider nicht hin dass ein string verschlüsselt wird. kann mir wer helfen?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 15:20
Im PHP-Script steht
Code:
mcrypt_decrypt
, das Gegenstück dürfte demnach vermutlich
Code:
mcrypt_encrypt
heißen. Eine kurze Google-Suche führt einen dann z.B. hierhin.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
junky

Registriert seit: 19. Aug 2013
6 Beiträge
 
#3

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 15:24
wenn ich folgende zwei zeilen abändere kommt leider ein anderers ergebnis heraus as das gewünschte.

leider bin ich eine niete in php und kenne mich da nicht aus:

Code:
function encrypt_SO($str, $key) {
    //$ivsize = mcrypt_get_iv_size(MCRYPT_DES, MCRYPT_MODE_CBC);
    //$blocksize = mcrypt_get_block_size(MCRYPT_DES, MCRYPT_MODE_CBC);
    $keysize = mcrypt_get_key_size(MCRYPT_DES, MCRYPT_MODE_CBC);

    // Need to use the SAME IV as the Delphi function. By default
    // this is (0,0,0,0,0,0,0,0) encrypted using ECB mode and gives the
    // following bytes:
    $ivbytes = array(72, 163, 99, 62, 219, 111, 163, 114);
    $iv = implode(array_map("chr", $ivbytes));

    $enc = base64_encode($str);                                                                      // aenderung hier: _ENcode
    $k = mhash(MHASH_SHA1, $key);
    $dec = mcrypt_encrypt(MCRYPT_DES, substr($k, 0, $keysize), $enc, MCRYPT_MODE_CBC, $iv);          // aenderung hier: _ENcrypt

    $pad = ord($dec[strlen($dec) - 1]);
    return substr($dec, 0, strlen($dec) - $pad);
  }
 
  $dec = 'this is a test';
  $enc = encrypt_SO($dec, 'test');
  echo "$enc\n";
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 15:27
Ich kenne mich mit mcrypt auch nicht aus, aber auf der verlinkten Seite stehen doch Beispiele. Hast Du es damit mal versucht?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
junky

Registriert seit: 19. Aug 2013
6 Beiträge
 
#5

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 15:34
das habe ich. folgenden code habe ich bisher. das ergebnis ist aber leider noch nicht richtig.

Code:
function encrypt_SO($str, $key) {
    $keysize = mcrypt_get_key_size(MCRYPT_DES, MCRYPT_MODE_CBC);
   
    $ivbytes = array(72, 163, 99, 62, 219, 111, 163, 114);
    $iv = implode(array_map("chr", $ivbytes));

    $k = mhash(MHASH_SHA1, $key);
    $dec = mcrypt_encrypt(MCRYPT_DES, substr($k, 0, $keysize), $str, MCRYPT_MODE_CBC, $iv);
   
    return base64_encode($dec);
  }
Es funktioniert nun fast.
das ergebnis welche ich brauche ist
WRaG/8xlxqqcTAJ5UAk4DA==
ich habe bisher aber nur
WRaG/8xlxqouYZoyvnidXg==

Geändert von junky (19. Aug 2013 um 15:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 15:50
Hier sind meine bescheidenen Kenntnisse leider auch am Ende
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
junky

Registriert seit: 19. Aug 2013
6 Beiträge
 
#7

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 15:53
kein problem =)
"negaH" scheint mir ein genie in sachen kryptographie zu sein. ich hoffe er liest diesen beitrag.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#8

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 21:09
Hallo,

sehe ich das richtig, dass du die PHP-Funktion aus dem verlinkten StackOverflow-Thread haben willst, nur rückwärts?

Zu deinem ersten Versuch: du musst nicht nur En- und Decrypt umtauschen, sondern auch die Reihenfolge der Operationen. Also erst das DES-Encrypt und dann base64-Encode. Den gleichen Vorgang eben rückwärts.

Bei deinem zweiten Beispiel sieht man deutlich, dass die Strings sich nicht komplett unterscheiden. Ich vermute, hier wird was mit dem Padding nicht stimmen.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
junky

Registriert seit: 19. Aug 2013
6 Beiträge
 
#9

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 22:20
ok. das ist erledigt.
im zweiten beispiel wird erst mcrypt_encrypt und dann base64_encode am ende aufgerufen.

was ist denn das padding? ist das die iv-byte reihenfolge?
  Mit Zitat antworten Zitat
junky

Registriert seit: 19. Aug 2013
6 Beiträge
 
#10

AW: String verschlüsseln in PHP

  Alt 19. Aug 2013, 23:26
ich habe nun herausgefunden, dass wenn ich beide werte (WRaG/8xlxqqcTAJ5UAk4DA== und WRaG/8xlxqouYZoyvnidXg==) entschlüssle, der selbe wert am ende herauskommt.
  Mit Zitat antworten Zitat
Antwort Antwort


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:55 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