On Mon, Jul 15, 2024 at 4:31 PM Tim Düsterhus <t...@bastelstu.be> wrote:
>
> Yes it does. SHA-256 is safer than MD5. And on modern CPUs with sha_ni
> extensions, it's also faster. The following is on a Intel i7-1365U:
>
> > $ openssl speed md5 sha1 sha256 sha512
> > *snip*
> > version: 3.0.10
> > built on: Wed Feb 21 10:45:39 2024 UTC
> > options: bn(64,64)
> > compiler: *snip*
> > CPUINFO: OPENSSL_ia32cap=0x7ffaf3ffffebffff:0x98c027bc239c27eb
> > The 'numbers' are in 1000s of bytes per second processed.
> > type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 
> > bytes  16384 bytes
> > md5             114683.10k   286174.51k   550288.90k   715171.50k   
> > 783611.22k   788556.46k
> > sha1            138578.57k   440607.38k  1082163.29k  1674088.45k  
> > 2017296.38k  2047377.41k
> > sha256          150670.11k   460483.71k  1054829.57k  1553830.57k  
> > 1807897.94k  1823981.57k
> > sha512           41246.76k   181566.07k   341457.66k   645468.50k   
> > 781042.81k   804296.02k
> Tim Düsterhus

Oh, that's interesting information. Blindly assuming that md5 was
faster than sha256, I did occasionally use md5 for non security
sensitive things like creating hashes used as cache keys or something
similar.

Consider something like:

$cache_key = md5(json_encode([
  'query' => "SELECT * FROM books WHERE author = ? LIMIT $offset,$limit",
  'params' => $params,
  'db' => 'kids_books',
]));

I think that would resolve my last possible reason for continuing to use md5.

Reply via email to