Edit report at http://bugs.php.net/bug.php?id=54721&edit=1
ID: 54721
Updated by: pajoye@php.net
Reported by: os at irj dot ru
Summary: crypt function
Status: Feedback
Type: Bug
Package: *Encryption and hash functions
Operating System: Windows 7 x64
PHP Version: 5.3.6
Assigned To: pajoye
Block user comment: N
Private report: N
New Comment:
oh my bad, used the wrong bins. Here are the results with the patch on
windows,
seems to match now:
$1$dW0.is5.$I0iqTYHPzkP4YnRgnXxZW0
$1$dW0.is5.$KaspRpPQ9U7Xb5Vv5c.WE/
$1$dW0.is5.$X9G1x/Ep8zYQSrU4/lKUg.
$1$dW0.is5.$wE5Rz/HxPtDMfqil6kK980
$1$dW0.is5.$2E4/ZDY1vr73HqLl1bLs9.
$1$dW0.is5.$lvGhphTQwqgKxWhWwYERr1
$1$dW0.is5.$XzsWcLSBj2BvhOKH0xdpZ0
Previous Comments:
------------------------------------------------------------------------
[2011-05-22 18:40:51] felipe@php.net
On Linux (Debian):
$1$dW0.is5.$I0iqTYHPzkP4YnRgnXxZW0
$1$dW0.is5.$KaspRpPQ9U7Xb5Vv5c.WE/
$1$dW0.is5.$X9G1x/Ep8zYQSrU4/lKUg.
$1$dW0.is5.$wE5Rz/HxPtDMfqil6kK980
$1$dW0.is5.$2E4/ZDY1vr73HqLl1bLs9.
$1$dW0.is5.$lvGhphTQwqgKxWhWwYERr1
$1$dW0.is5.$XzsWcLSBj2BvhOKH0xdpZ0
------------------------------------------------------------------------
[2011-05-22 18:29:44] pajoye@php.net
On FreeBSD I got (which uses system's crypt):
<?php
echo crypt("dev", '$1$dW0.is5.$10CH101gGOr1677ZYd517.');
?>
.ionEGu/npGjI
With the proposed fix, I got on windows (which is what this bug is
about):
$1$dW0.is5.$Jay703TqfAIolX2oUKG7u1
Which is not what the initial report says, it expects:
$1$dW0.is5.$10CH101gGOr1677ZYd517.
And using the tests provided privately:
<?php
echo crypt("", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
echo crypt("b", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
echo crypt("bu", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
echo crypt("bug", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
echo crypt("pass", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
echo crypt("buged", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
echo crypt("aaaaaaaaaaaaaaaaaaaaaaaaa ",
'$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
?>
Windows (with patch):
$1$dW0.is5.$I0iqTYHPzkP4YnRgnXxZW0
$1$dW0.is5.$geEFTh1pYyBlKNV7Jd0jJ0
$1$dW0.is5.$J9qpZsnaE3ddwR9CfXJq71
$1$dW0.is5.$5tcolHQsY5Pxr8vn4rzdN/
$1$dW0.is5.$2E4/ZDY1vr73HqLl1bLs9.
$1$dW0.is5.$lvGhphTQwqgKxWhWwYERr1
$1$dW0.is5.$XzsWcLSBj2BvhOKH0xdpZ0
FreeBSD:
$1$dW0.is5.$I0iqTYHPzkP4YnRgnXxZW0
$1$dW0.is5.$KaspRpPQ9U7Xb5Vv5c.WE/
$1$dW0.is5.$X9G1x/Ep8zYQSrU4/lKUg.
$1$dW0.is5.$wE5Rz/HxPtDMfqil6kK980
$1$dW0.is5.$2E4/ZDY1vr73HqLl1bLs9.
$1$dW0.is5.$lvGhphTQwqgKxWhWwYERr1
$1$dW0.is5.$XzsWcLSBj2BvhOKH0xdpZ0
I don't think the patch or the initial report is correct and it somehow
confirms my thoughts, len>16 is really implementation specific. Or did I
miss something?
------------------------------------------------------------------------
[2011-05-21 20:11:26] tony2001@php.net
Pierre, could you test the proposed fix, please?
Thanks in advance.
------------------------------------------------------------------------
[2011-05-16 17:18:12] pajoye@php.net
Please note that as this code may or should produce similar results on
all
platforms or builds, it is not correct.
MD5 salt is max. 12 characters as described in the manual and how the
extra
characters are treated are implementation specific.
Use blowfish or other stronger algorithm if you like to use a bigger
salt.
------------------------------------------------------------------------
[2011-05-16 16:46:03] pajoye@php.net
Confirmed.
Seems to be only happening in the TS API.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/bug.php?id=54721--
Edit this bug report at http://bugs.php.net/bug.php?id=54721&edit=1