arvidMedlem sedan juni 20009 inlägg Hej,
Jag har stött på ett underligt problem...
När jag använder mig av mcrypt_ecb för att kryptera en sträng och sedan krypterar upp(vad heter decrypt på svenska???) den, så kan jag inte lägga till någon text i slutet på strängen som returneras av mcrypt_ecb. Strängen blir typ låst... Ska det vara så här?
------------------
...................
/arvid andersson
arvid@lingon.nu
RobbanMedlem sedan dec. 19992 555 inlägg Har inte PHP kompilerad med stöd för dessa funktioner så jag kan inte prova, men det låter ju mycket underligt. Du menar att du lägger resultatet i en variabel, och sedan är denna variabel låst???
Kan man få se kodexempel?
------------------
Robban < robban@lipogram.com >
arvidMedlem sedan juni 20009 inlägg sure...
ungefär så här ser koden ut:
<?
$key = "nyckel";
$skum = "långa texten";
$crypt = mcrypt_ecb (TripleDES, $key, $skum, MCRYPT_ENCRYPT);
$skum = mcrypt_ecb (TripleDES, $key, $crypt, MCRYPT_DECRYPT);
$skum .= " mertext"; // detta funkar inte
?>
------------------
...................
/arvid andersson
arvid@lingon.nu
RobbanMedlem sedan dec. 19992 555 inlägg Hmm, efter att ha kollat i bugdatabasen har jag hittat något som kan förklara ditt problem. Verkar som om mcrypt-funktionerna lägger till ett varierande antal \0 (NULL-tecken) på slutet av strängen för att textmassan skall passa in i krypteringsalgoritmen.
http://bugs.php.net/bugs.php?id=2371
http://bugs.php.net/bugs.php?id=3104
I C betyder \0 att strängen är slut. Vet inte hur det är med PHP, men det är ju troligen skrivet i C så jag misstänker att det är detta som ställer till det för dig. Även om du lägger till tecken på slutet så verkar det som om PHP anser strängen slut när det första NULL-tecknet träffas på. Så även om det finns fler tecken i slutet så kommer dessa inte att skrivas ut t.ex.
Prova med följande och se om inte det "låser upp" variabeln.
$skum = str_replace("\0", "", $skum);
(\0 skall vara "slash + noll". Det är inte bokstaven O alltså.)
------------------
Robban < robban@lipogram.com >
[Redigerat av Robban den 08 aug 2000]
arvidMedlem sedan juni 20009 inlägg tack!!!
Det fungerar perfekt nu!
jag har inte tittat i den bugdatabasen förut... men den var ju bra... =)
------------------
...................
/arvid andersson
arvid@lingon.nu