[php] mcrypt_decrypt niet onder Windows?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
Beste mede-tweakers. :) Ik heb een stukje PHP-script dat een string kan encoden en decoden. Hiervoor maak ik onder Windows (XP Prof, SP1) gebruik van de libmcrypt.dll die ik in mijn system32-dir heb neergezet. Verder heb ik natuurlijk netjes de regel

code:
1
"extension=php_mcrypt.dll"


ge-uncomment in php.ini. (Dit alles volgens de info op deze pagina, zoals PHP.net ook aangeeft).

Ik weet zeker dat mijn code goed is, omdat het op een Linux PC (PHP 4.3.4) prima werkt. :)

Op mijn eigen computer (Apache/2.0.48 (Win32) PHP/4.3.4 DAV/2 ) werkt het encoden goed, maar bij het decoden loopt Apache vast. Ik krijg dan de Windowsfoutmelding dat er een fout is opgetreden en dat het programma moet worden afgesloten. :(

De fout treedt niet op bij de functies "mcrypt_module_open" en "mcrypt_create_iv", het gaat mis bij:
PHP:
1
mcrypt_ecb (MCRYPT_RIJNDAEL_256, $key, $de_teversleutelen_data,MCRYPT_DECRYPT, $iv);

Is er iemand die een oplossing voor mijn probleem kent, of is het algemeen bekend dat mcrypt niet goed werkt met Windows? :? Ik vind het namelijk nogal vreemd dat goede code maar half werkt op een Windows machine. |:(

Acties:
  • 0 Henk 'm!

Verwijderd

Lijkt me ook sterk dat het maar half werkt. Heb je de nieuwste versie van die DLL? Heb je het al op een andere windowsbak geprobeerd? Misschien dat het met IIS lukt?

Acties:
  • 0 Henk 'm!

  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
Ja, ik heb de nieuwste versie van de DLL, ja ik heb het op andere windowsbakken geprobeerd (zelfde resultaat) en met IIS wil ik niet werken..

Maar dit is alles wat de Tweakers weten hier?

Acties:
  • 0 Henk 'm!

Verwijderd

En een andere encryptie dan rijndael? Zelfde verhaal?

Kun je niet beter mcrypt_generic() als functie gebruiken overigens?

[ Voor 41% gewijzigd door Verwijderd op 21-01-2004 13:45 ]


Acties:
  • 0 Henk 'm!

  • Victor
  • Registratie: November 2003
  • Niet online
*Flinke schop*
code:
1
2
3
4
5
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$encryptedgeblaat = mcrypt_encrypt(MCRYPT_BLOWFISH, "eenheelgeheimezin", "Woei doet de wind", MCRYPT_MODE_ECB, $iv);
print $encryptedgeblaat . "<br \\>\n";
print mcrypt_decrypt(MCRYPT_BLOWFISH, "eenheelgeheimezin", $encryptedgeblaat, MCRYPT_MODE_ECB, $iv);


Dit komt hieruit:
code:
1
2
(©q¹Ã&#710;es·OÞÑ!²I&acute;éãtû
PHP has encountered an Access Violation at 6C19F5F3


En ik had liever gezien:
code:
1
2
(©q¹Ã&#710;es·OÞÑ!²I&acute;éãtû
Woei doet de wind


Dit alles draait onder IIS 5.1 op WinXP Pro NL, SP1 met PHP 4.3.4.

Heeft iemand misschien een oplossing? Mijn toch al beperkte PHP kennis haakt hier echt af. :/