ID: 35874
Updated by: [EMAIL PROTECTED]
Reported By: chris at acsi dot ca
-Status: Open
+Status: Bogus
Bug Type: Math related
Operating System: Windows XP Sp2
PHP Version: 5.1.1
New Comment:
Never heard about 32bits and some limits there are to it?
Previous Comments:
------------------------------------------------------------------------
[2006-01-03 02:04:01] chris at acsi dot ca
Description:
------------
base_convert($str, 10, 16) will not function properly with numbers
greater than 13 characters.
Reproduce code:
---------------
-BEGIN SCRIPT-
$string=(string)"Hello Kitty".(string)time();
$hash=md5($string);
$hash=strtoupper($hash); // Easier to
Read
echo("<br>1Hash is '$hash'<br>");
settype($hash, "string");
echo("<br>2Hash is '$hash'<br>");
$hash=base_convert($hash, '16', '10'); // Flick the string
from hex
to dec
echo("<br>3Hash is '$hash'<br>");
$hash=base_convert($hash, '10', '16'); $hash=strtoupper($hash);
echo("<br>4Hash is '$hash'<br>"); // Flick the string back
$hash=strtoupper($hash); // Easier to
read
echo("<br>5Hash is '$hash'<br>");
-END SCRIPT-
Expected result:
----------------
I can't show the exact expected number, as my MS Calc in hex mode can't
handle this number, but it's pretty obvious that all the trailing 0's
are wrong.
Actual result:
--------------
Here is the output text:
1Hash is '9789A9C80C9BFB6B40AD83670F14D64A'
2Hash is '9789A9C80C9BFB6B40AD83670F14D64A'
3Hash is '201428215609899446868600620602402480202'
4Hash is '9789A9C80C9BF8000000000000000000'
5Hash is '9789A9C80C9BF8000000000000000000'
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35874&edit=1