---
title: "mcrypt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/14712-mcrypt"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "arvid"
published: "2000-08-08T18:55:00.000Z"
updated: "2000-08-09T09:39:00.000Z"
replies: 4
views: 204
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/14712-mcrypt"
---

# mcrypt

## #1 — arvid, 2000-08-08T18:55Z

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?

Permalänk: https://www.webforum.nu/p/14712

## #2 — Robban, 2000-08-08T19:14Z

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?

Permalänk: https://www.webforum.nu/p/311698

## #3 — arvid, 2000-08-08T20:12Z

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

?>
```

Permalänk: https://www.webforum.nu/p/311699

## #4 — Robban, 2000-08-08T21:49Z

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å.)

Permalänk: https://www.webforum.nu/p/311700

## #5 — arvid, 2000-08-09T09:39Z

tack!!!

Det fungerar perfekt nu!

jag har inte tittat i den bugdatabasen förut... men den var ju bra... =)

Permalänk: https://www.webforum.nu/p/311701

---

Tråden på webben: https://www.webforum.nu/amne/php/14712-mcrypt
