2018-05-11 12:36 GMT+02:00 Alice Wonder <al...@librelamp.com>:

> On 05/11/2018 01:59 AM, Arvids Godjuks wrote:
>
>> 2018-05-10 16:33 GMT+02:00 Niklas Keller <m...@kelunik.com>:
>>
>> Hey,
>>>
>>> I hereby propose to deprecate uniqid(). There have been attempts to fix
>>> it
>>> (
>>> https://wiki.php.net/rfc/uniqid), but those were rejected during
>>> discussion, because there's no possible fix without breaking BC. Instead
>>> of
>>> a subtle BC break, this RFC favors the deprecation and moving users to
>>> other functions.
>>>
>>> It's to be discussed whether the function should be removed with PHP 8.0
>>> or
>>> just deprecated to avoid fully breaking things where it's not strictly
>>> necessary. A deprecation will probably avoid most new usages, which is
>>> the
>>> main goal.
>>>
>>> RFC: https://wiki.php.net/rfc/deprecate-uniqid
>>>
>>> Kind Regards,
>>> Niklas
>>>
>>> --
>>> PHP Internals - PHP Runtime Development Mailing List
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>>> Hello,
>>
>> as a userland user of this function I do disagree with it's outright
>> removal. It has it's uses.
>> What can be done with it is drop the $more_entropy flag and make it
>> generate at least as long strings and use random_bytes under the hood for
>> a
>> better random.
>> It can also adopt a length parameter so you can vary the random part as
>> much as you need it.
>>
>> You don't always need a truly random token - I have a system that uses
>> uniqid to generate tens of thousands tokens per request and it's actually
>> a
>> good thing they are time based at the start of it with a random part at
>> the
>> end (as I said the random part should be improved and get rid of that
>> stupid dot when generating with $more_entropy = true).
>>
>>
> It seems to me that for your use case, you could just use the time()
> function to get part of your unique id and then use libsodium to generated
> a nonce for the "random" part, using sodium's function for increment the
> nonce between each use.
>
> Predictable, sure, but your use case says they don't need to be a truly
> random token - just unique (essentially a non-random nonce) but with a time
> component.
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
Hello Alice,

Sure, there is lots I can do about that project, including what you have
described. One thing though - client does not need it or want it or want's
to pay for that work. That whole project is a poster child for a "side
project on a bare minimum, but done by a competent developer instead of a
student so it actually works in the long run"

-- 
Arvīds Godjuks

+371 26 851 664
arvids.godj...@gmail.com
Skype: psihius
Telegram: @psihius https://t.me/psihius

Reply via email to