[cvs] commit: framework/MIME MIME.php framework/MIME/MIME Part.php
Michael M Slusarz
slusarz at horde.org
Tue Oct 14 17:53:14 UTC 2008
Quoting Chuck Hagenbuch <chuck at horde.org>:
> Quoting Michael M Slusarz <slusarz at horde.org>:
>
>> Log:
>> A better random ID generator. Don't create boundary string until needed.
>
> If this is Horde 4/PHP 5 only, how about using Horde_Support_Uuid?
UUIDs are not preferable for several reasons:
1. They are overly long - for most MIME operations (i.e. boundaries,
Message-IDs), the IDs only need to be unique within each message or,
in the case of Message-IDs, unique on that particular system; since we
later append system information to the random ID, there is no need for
those message-ID random strings to be globally unique. We don't need
a 36-character long string.
2. UUIDs waste a lot of space, important when the information will be
in transport. UUIDs are only in hex, so for each byte we are only
using 16/127 of the possible ASCII values (well, less than 127 because
some of those are control characters, but for sake of argument...).
The MIME IDs use 36/127 so we can pack more unique randomness into a
smaller string. We theoretically could pack even more randomness by
adding other printable characters ("!@#%^&", etc.) into the string,
but for sake of ease of creation, 36 chars should be fine.
michael
--
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the cvs
mailing list