Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: mcrypt_decrypt - Manual
[go: Go Back, main page]

PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mcrypt_ecb" width="11" height="7"/> <mcrypt_create_iv
Last updated: Thu, 31 May 2007

view this page in

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_decrypt — 指定したパラメータで暗号化されたテキストを復号化する

説明

string mcrypt_decrypt ( string $cipher, string $key, string $data, string $mode [, string $iv] )

mcrypt_decrypt() はデータを復号化し、 復号化されたデータを返します。

cipher には、アルゴリズム名を表す定数 MCRYPT_暗号名 の一つを文字列で指定します。

key は、データを暗号化する際のキーです。 必要なキー長よりも短い場合には、'\0' で埋められます。

data は、指定した暗号およびモードで復号化 されます。データの大きさが n * blocksize でない場合、データは、 '\0' で埋められます。

mode には、"ecb", "cbc", "cfb", "ofb", "nofb" ,"stream" のどれかを用いて定数 MCRYPT_MODE_モード名を 指定します。

パラメータ IV は、CBC, CFB, OFB モードおよび STREAM モードのいくつかのアルゴリズムの初期化の際に使用されます。 アルゴリズムで必要とする IV を指定しない場合、この関数は警告を発生し、 全てのバイトを '\0' に設定した IV を使用します。



add a note add a note User Contributed Notes
mcrypt_decrypt
eddiec at stararcher dot com
14-Jul-2005 10:26
It appears that mcrypt_decrypt pads the *RETURN STRING* with nulls ('\0') to fill out to n * blocksize.  For old C-programmers, like myself, it is easy to believe the string ends at the first null.  In PHP it does not:

    strlen("abc\0\0") returns 5 and *NOT* 3
    strcmp("abc", "abc\0\0") returns -2 and *NOT* 0

I learned this lesson painfully when I passed a string returned from mycrypt_decrypt into a NuSoap message, which happily passed the nulls along to the receiver, who couldn't figure out what I was talking about.

My solution was:
<?
    $retval
= mcrypt_decrypt( ...etc ...);
   
$retval = rtrim($retval, "\0");     // trim ONLY the nulls at the END
?>
kooktroop at gmail dot com
09-Jul-2004 07:13
Following on from the mcrypt_encrypt() example:

<?php
$text
= "boggles the inivisble monkey will rule the world";
$key = "This is a very secret key";

$iv_size = mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
echo
strlen($text) . "<br>";

$enc = mcrypt_encrypt(MCRYPT_XTEA, $key, $text, MCRYPT_MODE_ECB, $iv);
echo
strlen($enc) . "<br>";
  
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "Meet me at 11 o'clock behind the monument.";
echo
strlen($text) . "<br>";

$crypttext = mcrypt_decrypt(MCRYPT_XTEA, $key, $enc, MCRYPT_MODE_ECB, $iv);
echo
"$crypttext<br>";
?>

mcrypt_ecb" width="11" height="7"/> <mcrypt_create_iv
Last updated: Thu, 31 May 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites