Re: [RFC] [VOTE] Deprecations for PHP 8.4

From: Date: Wed, 31 Jul 2024 21:38:33 +0000
Subject: Re: [RFC] [VOTE] Deprecations for PHP 8.4
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
On 30/07/2024 21:57, Tim Düsterhus wrote:
Let me attempt to give an explanation. As of today users should use in order of priority: 1. The hash function they need for interoperability: If a service provides a SHA-1 checksum, then there is no choice and SHA-1 needs to be used. 2. The hash function their security team requests them to use. 3. A function from the SHA-2 family, with SHA-256 being a good default choice, because that's the secure default choice across the industry.
Thanks, this is a good concise explanation, and exactly the kind of thing I think should be in the documentation *before* we start telling people they're "doing it wrong" by using md5() or sha1(). It also strengthens my conviction that we should add sha256() and sha256_file() as standalone functions: a "good default choice" is really all most users want or need. There seems to be no risk of us needing to add a new function every other year, or provide a dozen functions to cover different use cases. Users in scenarios 1 or 2 will know what to look up in the hash_algos() list and pass to hash(). Users who have complex use cases like incremental hashing, or whatever hash_hkdf() does, can keep using the complex but flexible functions that provide those facilities. Note that if SHA-256 ever stops being the recommendation, having a sha256() function will give us the same opportunity we have now with md5() and sha1(): to issue a message to users of the standalone function, but keep the algorithm fully available in hash(). Regards, -- Rowan Tommins [IMSoP]

Thread (97 messages)

« previous php.internals (#124702) next »